Server system, printing control method and program, and printing system
The server system ensures that print jobs are processed and printed in the correct order by prioritizing reception time within cloud printing systems, addressing the misalignment issue in existing cloud printing technologies.
Patent Information
- Application Number
- JP2021192467
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-11-26
- Publication Date
- 2026-01-28
- Estimated Expiration
- 2041-11-26
AI Technical Summary
Printing systems using cloud services often output documents in an order different from the user's instructions, leading to misalignment in the printing sequence.
A server system mediates between upstream and downstream print services, ensuring that print jobs are transmitted to the downstream service in the order of their reception time, prioritizing jobs belonging to the same user group.
Guarantees that the printing order matches the user's print instructions, maintaining sequence integrity even in cloud-based printing systems.
Smart Images

Figure 0007807900000001 
Figure 0007807900000002 
Figure 0007807900000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to a cloud printing service, and more particularly to a server system, a printing control method and program, and a printing system. [Background technology]
[0002] Printing services that use the cloud from information processing devices such as personal computers (hereinafter referred to as PCs) are known. In these services, the information processing device issues a print request to the cloud printing service, which then transmits the print request to a printing device associated with the cloud printing service. This allows printing to be performed via the cloud. When multiple users share a single printing device, it is necessary to register multiple users as users of the printing device registered with the cloud printing service. In this type of usage, a configuration is known in which users of a printing device on a cloud printing service can be easily added by storing an administrator ID for using the cloud printing service in advance on the printing device (Patent Document 1). [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Patent No. 6672596 Summary of the Invention [Problem to be solved by the invention]
[0004] The printing system in Patent Document 1 describes a method for easily adding users to a printing device already registered with a cloud printing service. With a cloud printing service, printing is performed via a virtual printing device that exists on the cloud printing service. When printing via the cloud printing service, there have been cases where printed documents are output in an order different from the order in which the user instructed them to print.
[0005] The present invention has been made in consideration of the above-described conventional example, and makes it possible to guarantee that the printing order matches the order of print instructions even when printing is performed using a cloud printing service. [Means for solving the problem]
[0006] In order to solve the above-mentioned problems, according to one aspect of the printing system of the present invention, there is provided a server system that mediates between an upstream printing service that accepts print jobs and a downstream printing service that executes printing in the order in which print instructions are received, the server system comprising: a receiving means for receiving, from the upstream print service, predetermined information relating to each of a plurality of print jobs, the information being information relating to a reception time, which is the time when the upstream print service received the print job, or information relating to a reception order, which is the order in which the upstream print service received the print job, and the plurality of print jobs; a transmission unit that controls, based on the predetermined information, the order in which print instructions included in the plurality of print instructions based on the plurality of print jobs are transmitted to the downstream print service; The transmitting means Among the multiple print jobs, print jobs that belong to the same group as the user who submitted the print job are sent to the downstream print service in order of earliest reception time. A server system is provided. [Effects of the Invention]
[0007] According to the present invention, it is possible to guarantee that the printing order matches the order of print instructions even when printing is performed using a cloud printing service. [Brief explanation of the drawings]
[0008] [Figure 1] Cloud printing system configuration diagram [Figure 2] Block diagram showing the hardware configuration of an information processing device [Figure 3] Block diagram showing the hardware configuration of a printing device [Figure 4] Cloud printing intermediary service software configuration diagram [Figure 5]Diagram of the database tables used in the cloud print intermediary service [Figure 6A] FIG. 1 is a sequence diagram illustrating a printing process according to the first embodiment. [Figure 6B] FIG. 1 is a sequence diagram illustrating a printing process according to the first embodiment. [Figure 7] FIG. 10 is a sequence diagram showing a process for determining a printing order in the first embodiment. [Figure 8] Schematic diagram showing the time sequence of a series of printing processes in the first to third embodiments. [Figure 9A] FIG. 10 is a sequence diagram showing a printing process in the second embodiment. [Figure 9B] FIG. 10 is a sequence diagram showing a printing process in the second embodiment. [Figure 10] FIG. 10 is a sequence diagram showing a process for determining a printing order among print jobs according to the second embodiment. [Figure 11A] FIG. 10 is a sequence diagram showing a printing process in the third embodiment. [Figure 11B] FIG. 10 is a sequence diagram showing a printing process in the third embodiment. [Figure 12] FIG. 10 is a sequence diagram showing a process for determining a printing order among print jobs according to the third embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0009] Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. Note that the following embodiments do not limit the scope of the invention claimed. Although multiple features are described in the embodiments, not all of these multiple features are necessarily essential to the invention, and multiple features may be combined arbitrarily. Furthermore, in the accompanying drawings, the same reference numerals are used to designate the same or similar components, and redundant explanations will be omitted.
[0010] <Embodiment 1> ●Cloud printing system configuration FIG. 1 is a schematic diagram illustrating the configuration of a cloud printing system according to this embodiment. At location X 106, an information processing device 100 and a printing device 111 are connected to the Internet 105 via an access point (AP) 101 and a local area network (LAN) 102. The LAN 102 is a local network for location X 106 and is also called an in-house network. The information processing device 100 and the printing device 111 do not communicate directly, but communicate via multiple cloud printing services (described below). At location Y 107, the printing device 112 is similarly connected to the Internet 105 via the LAN 104, and the printing device 113 is connected to the Internet 105 via the AP 103 and the LAN 104. The printing devices 111, 112, and 113 may be of different models. Here, the printing devices are collectively referred to as the printing device 110. A cloud printing service 120 not supported by the printing device 110, a cloud printing intermediary service 130, and a cloud printing service 140 supported by the printing device 110 are also connected to the Internet 105.
[0011] A cloud print service 140 that is compatible with the printing device 110 is sometimes called a printing device-compatible cloud print service. Compatibility with a printing device can also be referred to as compatibility with the printing device, and the cloud print service 140 is sometimes called a printing device-compatible cloud print service or a compatible cloud print service. A printing device being compatible may mean that the message exchange procedures and data formats between the printing device and the cloud print service are compatible. Specifically, a printing device can request, obtain, and execute print jobs from a cloud print service that is compatible with the printing device. A printing device can also receive and execute print jobs from a cloud print service that is compatible with the printing device.
[0012] The information processing device 100 and the cloud print intermediary service 130 can each communicate with the cloud print service 120 via the Internet 105. The printing device 110 and the cloud print intermediary service 130 can each communicate with the cloud print service 140 via the Internet 105. The information processing device 100 prints to the printing device 110 via the print intermediary service 130, the cloud print service 120, and the printing device-compatible cloud print service 140. The cloud print service 120 is a system that provides print services over the Internet, to which the user has a contract with their company. Universal Print (registered trademark) provided by Microsoft Corporation is an example of a cloud print service 120. Note that a cloud print service is sometimes called a print service, and a cloud print intermediary service is sometimes called an intermediary service. Similarly, a printing device-compatible cloud print service is sometimes called a compatible print service.
[0013] A user can log in to the cloud printing service 120 from the information processing device 100 and send company printed materials to a logical printing device 121 that exists on the cloud printing service 120. The logical printing device 121 is a printing device virtually generated on the cloud printing service 120. The information processing device 100 can generate a print queue for the logical printing device 121 in the same way as for a regular printing device 110. The printing device-compatible cloud printing service 140 is a system that provides a print service over the Internet that is supported by the printing device 110. By sending company printed materials to the logical printing device 141 associated with the printing device 110, the printed materials can be output to the printing device 110. The logical printing device 141 is a printing device virtually generated on the printing device-compatible cloud printing service 140. The cloud printing intermediary service 130 can mediate print jobs between the cloud printing service 120 and the printing device-compatible cloud printing service 140. Details will be described with reference to FIGS. 4 and 5. When a print job is sent from the information processing device 100 to a logical printing device 121 of the cloud printing service 120, the cloud printing intermediary service 130 converts the print job held by the logical printing device 121 into a format compatible with the printing device-compatible cloud printing service 140. By sending the converted print job, it becomes possible to have the printing device 110 output a printed matter.
[0014] The printing device 110 that outputs the printed material does not have to be the printing device 111 at location X 106, but can also be the printing devices 112 and 113 at location Y 107. A user can print from an information processing device 100 connected to the internal network 102 using printing devices 112 and 113 that are connected to an external network and support a cloud printing service 140. Furthermore, an administrator at location X 106 can manage the data that users print using the cloud printing service 120. This prevents print data from being taken outside the company and lost. In the example of Figure 1, location Y 107 represents a single company, the information processing device 100 is a terminal device used within the company, and the cloud printing services 120 and 140 and the cloud printing intermediary service 130 are authorized for use by users registered by the company. The printing device 110 is also a printing device used within the company.
[0015] In this embodiment, the above configuration example is described as an example of a printing system, but the present invention is not limited to this. For example, the information processing device 100, the cloud print service 120, the printing device-compatible cloud print service 140, the cloud print intermediary service 130, and the printing device 110 may be communicably connected via a network. The network may be wireless or wired. Furthermore, the cloud print intermediary service 130 and the printing device-compatible cloud print service 140 may be a single cloud service. In addition, the printing device 110 in this embodiment does not support the cloud print service 120, but it may be. The printing device 110 may have a printing function and may be an MFP (multifunction printer) with added functionality of a scanner or fax, or both.
[0016] Furthermore, in this embodiment and other embodiments, the print job and print data are transmitted from the information processing device 100 in the following order: cloud print service 120, cloud print intermediary service 130, cloud print service 140, and printing device 110. Therefore, with cloud print intermediary service 130 as the base, cloud print service 120 is sometimes referred to as the upstream cloud print service, and cloud print service 140 is sometimes referred to as the downstream cloud print service. The cloud print service is also sometimes referred to as the print service.
[0017] ●Configuration of information processing device FIG. 2 is a block diagram showing the configuration of the information processing device 100. The CPU 201 executes programs stored in the RAM 202 and ROM 203 to calculate, determine, and control data and instructions. The RAM 202 is used as a temporary storage area when the CPU 201 performs various processes. The ROM 203 stores the operating system (OS), application software, etc. The display 204 includes an LCD display and a graphics controller and displays objects that combine multiple objects, such as images and icons, typified by shortcut menus and launchers, as well as GUIs. The input device 205 is a device that allows the user to issue various instructions to the information processing device 100. The I / F device 206 uses wireless or wired LANs compatible with standards such as IEEE 802.11a, enabling data exchange with devices on the same network or the Internet using protocols such as TCP / IP. The system bus 207 exchanges data between the CPU 201, RAM 202, ROM 203, etc. The hardware configurations of the cloud print service 120, the cloud print intermediary service 130, and the printing device compatible cloud print service 140 are also the same as the hardware configuration of the information processing device 100 shown in FIG.
[0018] The cloud printing services 120, 140 and the cloud printing intermediary service 130 are services provided by executing a program on a computer. Alternatively, they may refer to software modules for providing the services or the server systems that execute them. A server system is made up of one or more servers, and the servers that make up the server system may be computers having a configuration similar to that of the information processing device in FIG. 2.
[0019] Printing device configuration FIG. 3 is a block diagram showing the configuration of the printing device 110. The CPU 301 controls the printing device 110 by executing a program stored in the ROM 303 on the RAM 302 in accordance with user operations on the operation panel 304. The ROM 303 stores control command programs for the printing device 110. The RAM 302 operates as a working memory for the CPU 301 as described above, and is also used as a storage area for a print job spooler. Of course, it can also be used as a storage area for programs. The operation panel 304 is composed of keys and a touchpad for user operation, and a display that displays a screen to present images and various information to the user. The reading device 305 has an optical sensor for reading a document and generates an image read by the optical sensor on the RAM 302.
[0020] The printing unit 306 can be equipped with an ink tank for storing ink and a recording head for ejecting ink, and is also equipped with a transport unit for transporting printing paper, and prints images on printing media using an inkjet method. Note that the printing device is not limited to the inkjet method, and images may be printed using, for example, an electrophotographic method. The image processing device 307 realizes a copy function by performing image processing on an original scanned by the reading device 305 so that the original can be printed by the printing unit 306. The I / F device 308 uses a wireless LAN or wired LAN compatible with standards such as IEEE 802.11a, and is capable of exchanging data with devices on the same network or the Internet using protocols such as TCP / IP.
[0021] ●Software configuration of cloud printing intermediary service FIG. 4 shows an example of the software configuration of the cloud print intermediary service 130. The cloud print intermediary service 130 can provide functions such as registering the logical printing device 121 on the cloud print service 120, associating the logical printing device 121 with the logical printing device 141, checking their status, and sending pull print instructions. The main task 131 provides an operation screen for the cloud print intermediary service 130. The user can view and operate the operation screen using the web browser of the information processing device 100. A user (administrator) with administrator privileges for the cloud print service 120 can register the logical printing device 121 from the cloud print intermediary service 130. The user can also associate the logical printing device 121 with the logical printing device 141 connected to the printing device 110 from the cloud print intermediary service 130. This enables printing using the cloud print service 120 and the printing device-compatible cloud print service 140. For registration processing, a registration task 132 executes a registration command received by the main task 131.
[0022] In normal printing, when a user sends a print job from the information processing device 100 to the logical printing device 121 on the cloud printing service 120, the cloud printing service 120 notifies the cloud printing intermediary service 130 that it has accepted the print job. Upon receiving this notification, the cloud printing intermediary service 130 requests print job information from the cloud printing service 120 and begins printing processing. This operation is called push printing. On the other hand, if print jobs for the logical printing device 121 accumulate and the user wants the cloud printing intermediary service 130 to process the print jobs, the user can operate the information processing device 100 to send a print execution instruction to the cloud printing intermediary service 130. This operation is called pull printing. Print processing is performed for each print job by the print task 133. The registration information and print job information (print job information) are each stored in the database 150. The print job information is deleted after the storage period has expired. The print data contained in the print job is downloaded from the cloud printing service 120 and stored in the print data storage 134. The print data is deleted after the print process or the storage period has expired.
[0023] 5 shows an example of a table in the database 150. The database 150 includes two tables: a printing device information table 151 and a print job information table 152. In addition, although not shown, there is also a setting table for the cloud print intermediary service 130 itself.
[0024] The printing device information table 151 is association information between the cloud print service 120, the printing device-compatible cloud print service 140, and the printing device. A printing device information table 151 is created for each printing device. The printing device information table 151 includes the following items: The cloud print service printer ID 153 indicates unique identification information for the logical printing device 121. The printing device-compatible cloud print service printer ID 154 indicates unique identification information for the logical printing device 141. The printing device-compatible cloud print service printer ID 154 is issued by the printing device-compatible cloud print service 140, and one or more printing device-compatible cloud print service printer IDs 154 may exist for one printing device 110. The cloud print service type 155 indicates the type of cloud print service. For example, here, the cloud print service type 155 indicates that the service provided is a cloud print service.
[0025] Tenant 156 indicates the company or organization to which a user who has subscribed to the cloud printing service belongs. Printing device name 157 indicates the name or product name of the printing device 110 compatible with the cloud printing service 140, and printing device model name 158 indicates the model name. Access token 159 is a token used when accessing the cloud printing service 120 or the printing device-compatible cloud printing service 140. The contents of printing device information table 151 are set by user settings operations, etc. Various IDs, access tokens, etc. may be assigned by the cloud printing system.
[0026] The print job information table 152 is information about print jobs that the cloud print intermediary service 130 obtains from the cloud print service 120. The print job information table 152 is created for each print job. The print job information table 152 includes the following items. Explanations of items that are the same as those in the printing device information table 151 will be omitted. The cloud print service job ID 160 indicates the ID of the print job obtained from the cloud print service 120. The user 161 indicates the identification information of the user who performed the printing. The print job name 162 is the name of the print job. The print job status 163 indicates the status of the print job. The status of the print job may include, for example, unprocessed or ready to send.
[0027] The print data ID 164 is the management ID of the print data on the cloud print service 120. The print settings 165 include settings such as layout, size, full color / monochrome, and single-sided / double-sided. The print data URL 166 indicates the storage location of the print data on the print data storage 134. The print job acceptance time 167 indicates the time, such as date and time, when the print job was accepted by the cloud print service 120. The print job transmission status 168 indicates the status of the print job sent to the printing device-compatible cloud print service 140. Examples of the status may include "not sent" or "sent." The print data download status 169 indicates the download status of the print data obtained from the cloud print service 120. Examples of the status may include "not downloaded" or "downloaded." The print job information table 152 is updated according to the sending and receiving of print jobs and print data between the cloud print service 120 and the cloud print service 140.
[0028] ●Printing processing using a cloud printing system (printing control method using a cloud printing intermediary service) 6A and 6B show an example of printing processing by the cloud printing system of this embodiment. These are collectively referred to as FIG. 6. In this embodiment, printing processing by pull printing will be described. The information processing device 100 is previously set in a state where it can submit a print job to a logical printing device 121 registered on the cloud printing service 120 using the OS functions of the information processing device 100. For convenience, the process of submitting a print job to the logical printing device 121 will be expressed as submitting a print job to the cloud printing service 120. In FIG. 6, "loop" indicates the repetition of the process within the box, and "alt" indicates the process that is performed when the condition written to the right of it is met.
[0029] First, in response to a user operation, the information processing apparatus 100 submits a print job to the cloud print service 120 (S601). Note that in this embodiment, it is assumed that multiple print jobs are submitted by performing S601 multiple times. When the cloud print service 120 accepts the submission of a print job, it issues, for each print job, information (such as a timestamp) corresponding to the time the print job was submitted to the cloud print service 120. Note that in this embodiment, the information corresponding to the time the print job was submitted to the cloud print service 120 corresponds to the print job acceptance time 167, which will be described later. Thereafter, in response to accepting a user operation for pull printing, for example, the information processing apparatus 100 transmits a pull print instruction corresponding to the logical printing device 121 to which the print job is to be submitted to the cloud print intermediary service 130 (S602). Upon receiving the pull print instruction, the cloud print intermediary service 130 requests the cloud print service 120 to acquire a list of print jobs held by the logical printing device 121 (S603). Upon receiving the request, the cloud print service 120 sends a list of print jobs held by the logical printing device 121 to the cloud print intermediary service 130 (S604). The print job list includes one or more print jobs submitted to the cloud print service 120 and held by the cloud print service 120. Therefore, it is assumed here that the print job list includes the multiple print jobs submitted in S601. After this, the cloud print intermediary service starts processing the acquired print jobs, and if there are multiple print jobs included in the list, they are processed in parallel by the print task 133.
[0030] Each print job acquired in S604 includes the minimum necessary information, such as the cloud print service job ID 160 and print data ID 164. The cloud print intermediary service 130 stores each print job in the database 150 (S605). In step S605, a print job information table 152 is created for each acquired print job, and the specified cloud print service printer ID, the uniquely assigned cloud print service job ID, the print data URL 166, and the like are registered. The job submission time (or date and time) is also registered in the print job acceptance time 167. Note that this example describes a procedure for collectively acquiring print jobs held by the logical printing device 121 from the cloud print service 120 in response to a pull print instruction and printing them all at once. However, for example, a list of print jobs may be displayed on the information processing device 100, and a print job selected by the user may be acquired from the cloud print service 120 and printed.
[0031] The print task 133 acquires print job detail information, print instructions, and print data for each print job in parallel (processing from S606 to S612 and processing from S613 to S615). Note that the print instructions may be the print job itself. Each step will be explained focusing on one of the print jobs processed in parallel.
[0032] The print task 133 requests the cloud print service 120 to obtain detailed information about the print job (S606). The cloud print service 120 receives the request and responds with the detailed print job information (S607). The detailed print job information obtained in S607 includes the remaining information, such as the print job name 162, the print job status 163, and the print settings 165.
[0033] The print task 133 updates the print job information table 152 stored in the database 150 in S604 with the acquired print job detail information (S608). Upon receiving the print job detail information, the print task 133 converts the print job into a format that can be processed by the printing device-compatible cloud print service 140 (S609). The destination format may be determined in advance depending on the printing device-compatible cloud print service 140. The print task 133 checks the status of the print job currently being processed by the cloud print intermediary service 130 and determines whether the print job being processed can be sent to the printing device-compatible cloud print service 140 (S610). Conditions for determining that the print job is in a sendable state include, for example, that the download of print data being executed in parallel has been successfully completed and that the print job has the highest priority among the print jobs to be processed. If the print job can be sent in S610, the print job sending status 168 is changed to send ready OK (send preparation completed). The details of this determination process will be explained in detail with reference to FIG. 7.
[0034] If the print job transmission status 168 of the print job to be processed is ready to send, the print task 133 sends a print instruction to the printing device-compatible cloud print service 140 (S611) and changes the print job transmission status 168 to OK (transmission completed) (S612). After this, the process proceeds to S613. If the print job transmission status 168 of the print job to be processed has not yet become ready to send, the print task 133 repeats the operations of S610 to S612 until it becomes ready to send.
[0035] In parallel with the processing of these print instructions, the print task 133 requests the cloud print service 120 to download print data from the storage location indicated by the print data URL 166 (S613). In other words, the download of the print data and the loop processing of S610-S612 can be executed in parallel. The cloud print service 120 receives the request and sends the print data to the cloud print intermediary service 130 (S614). The download processing of S614 takes longer to complete as the amount of print data increases. When the print data download is complete, the print data download status 169 of the target print job is changed to OK (download completed), and the print data URL 166 is changed to the URL of the print data stored in the print data storage 134 (S615). Note that the initial value of the print data download status 169 is not completed.
[0036] The printing device-compatible cloud print service 140, which has received the print instruction in S611, sends a print data download request to the cloud print intermediary service 130 (S616). The print data URL 166 is used as the request destination in S616. The cloud print intermediary service 130, which has accepted the request, sends the print data obtained from the storage location indicated by the print data URL 166 to the printing device-compatible cloud print service 140 (S617). The printing device-compatible cloud print service 140, which has received the print data, sends the print data to the specified printing device 110 (S618). The print data sent in S618 includes an instruction command to the printing device 110.
[0037] The printing device 110 performs printing based on the received print data. When printing is complete, the printing device 110 sends a print completion notification to the printing device-compatible cloud printing service 140. Furthermore, the printing device-compatible cloud printing service 140, which has received the print completion notification, sends it to the cloud printing intermediary service 130. Furthermore, the cloud printing intermediary service 130, which has received the print completion notification, sequentially sends it to the cloud printing service 120, and the cloud printing service 120 sends it to the information processing device 100 (S619, S620, S621, S622). Upon receiving the print completion notification, the printing device-compatible cloud printing service 140, the cloud printing intermediary service 130, the cloud printing service 120, and the information processing device 100 each complete the print job they are managing. Specifically, they set the print job status to "completed." Alternatively, for example, information about the completed print job may be deleted, excluding the log.
[0038] 7 shows details of the process in S610 in which the cloud print intermediary service 130 determines whether it is possible to send a print job to the printing device-compatible cloud print service 140. The print task 133, which processes each print job on the cloud print intermediary service 130, sends a request to the database 150 to obtain a list of print jobs currently being processed by the cloud print intermediary service 130 (S701). Upon receiving the request, the database 150 sends the list of print jobs to the print task 133 (S702).
[0039] The print task 133 references the print job information table 152 of the print job currently being processed included in the received print job list and references its print data download status 169. If the print data download status 169 is incomplete, the process exits the determination loop and makes another determination in the next loop (S703). If the status 169 indicates download complete, the print task 133 references the print job information table 152 of the print job in the job list that has the same logical printing device 141 as the currently being processed job. If the values of the printing device-compatible cloud print service printer ID 154 are the same, it can be determined that the logical printing device 141 used is the same. The print task 133 then determines the print job processing order based on the print acceptance time 167 in the print job table for each print job that uses the same logical printing device 141. Print jobs that use the same logical printing device 141 are a group of print jobs that are printed on the same printing device. This group will be referred to as the target group.
[0040] If the print acceptance time 167 of the print job currently being processed is the earliest among the target group, the print job currently being processed is determined to have the highest priority (S704). Note that if the cloud print service job ID 160 is assigned a numerical value that increases in the order of issuance, the print task 133 may determine the priority of the print job by comparing the size of the cloud print service job ID 160. Also, the print task 133 only determines whether a print job has a print job transmission status 168 other than OK (sent) for which it determines the priority.
[0041] If the print task 133 determines that the print job being processed has the highest print job priority, it changes the print job transmission status 168 from the default "not sent" to "ready to send" (S705). In the procedure of FIG. 7, only the print job with the earliest reception time among the print jobs that have become ready to send is set to "ready to send." By doing this, in S611 of FIG. 6, the print task 133 waits for the print job with the earliest reception time among the print jobs for which a print instruction has not been sent to become ready to print, and then sends a print instruction for that print job to the cloud print service 140. The cloud print service 140 downloads the print data in the order in which the print instructions were received and sends it to the printing device 110, so printing is performed in the order in which the instructions were received.
[0042] As a result, even when the cloud print intermediary service 130 acquires multiple print jobs from the cloud print service 120 at once, the cloud print intermediary service 130 can instruct the printing device 110 to print in the order in which the print jobs were submitted to the logical printing device 141. This is the case, for example, in the case of pull printing. Furthermore, for example, it is possible that the processing of the first print job submitted to the logical printing device 141 in the cloud print intermediary service 130 is completed later than the processing of the second print job submitted to the logical printing device 141 in the cloud print intermediary service 130. Even in such a case, the cloud print intermediary service 130 can instruct the printing device 110 to print in the order in which the print jobs were submitted to the logical printing device 141.
[0043] In this embodiment, the printing device-compatible cloud print service printer ID 154 is used as a narrowing down condition for print jobs to determine priority. However, if there is a one-to-one relationship between the printing device-compatible cloud print service printer ID 154 and the cloud print service printer ID 153 indicating the logical printing device 121, the cloud print service printer ID 153 may also be used.
[0044] The search results may also be further narrowed down using cloud print service type 155, which indicates the type of cloud print service used, tenant 156, which indicates the company or organization to which the user who has subscribed to the cloud print service belongs, or user 161. In this case, the print order is guaranteed based on the criteria used for narrowing down the search results. For example, when narrowing down the search results by cloud print service type 155, print jobs are executed in the order of submission for each cloud print service 120 subscribed to by the company. In other words, while the execution order was adjusted to match the submission order for each logical printing device in FIG. 7, the execution order is aligned for each cloud print service 120. Similarly, when narrowing down the search results by tenant 156, the print order is guaranteed for each company. Tenant 156, which is a condition for determining the execution order, may be considered as a group to which the user belongs. Furthermore, when narrowing down the search results by user 161, the print order is guaranteed for each user who executed the printing. The user who executed the printing may be the user who submitted the print job to the cloud print service 120. In these cases, it may or may not be assumed that the print jobs are processed by the same printing device. In this specification, the term "guarantee" is used synonymously with "guarantee."
[0045] Furthermore, in the present embodiment, the print acceptance time 167 is used to control the transmission order (or transmission sequence) of print instructions. However, this is not limiting. Other information may be used instead of the print acceptance time 167. For example, when the cloud print service 120 accepts the submission of a print job, it may issue, for each print job, information corresponding to the order in which the print jobs were submitted to the cloud print service 120. In this case, for example, a job ID may be issued as information corresponding to the order in which the print jobs were submitted to the cloud print service 120. Then, information corresponding to the order in which the print jobs were submitted to the cloud print service 120 may be used to control the transmission order of print instructions. Furthermore, for example, information regarding the time at which the print job was generated or transmitted in the information processing device 100 may be added to each print job. Similarly, for example, information regarding the order in which the print jobs were generated or transmitted in the information processing device 100 may be added to each print job. The transmission order of print instructions may be controlled using information about the time when the print jobs were generated or transmitted by the information processing device 100 or information about the order in which the print jobs were generated or transmitted by the information processing device 100.
[0046] FIG. 8 is a schematic diagram showing the timeline of print processing by the cloud printing system in this embodiment. The cloud printing system sends print jobs I803 and J804 to printing device V801 and print job K805 to printing device W802. The print processing 807, 809, 810, and 812 for each print job include processing by the cloud printing service 120, cloud printing intermediary service 130, and printing device-compatible cloud printing service 140. This includes, in particular, the time required to download print data from the cloud printing service 120 to the cloud printing intermediary service 130 and the waiting time until the print job transmission status 168 changes to ready to send. Assume that print job I803 has a large amount of print data, print job J804 has a medium amount of print data, and print job K805 has a small amount of print data. As shown in the figure, the print jobs are submitted in the order of print job I803, print job J804, and print job K805.
[0047] Print job submission 806 is performed first for print job I803, but because the amount of print data is large, the processing time required for print processing 807 is longer than for the other print jobs. If print processing 810 for print job J804 were executed as is, the job would become ready to send at time T854, and printing would begin. In this case, print job J804 would start printing before the print start time T857 for print job I803. The cloud print intermediary service 130 has a function for guaranteeing the printing order on the printing device 110. Therefore, for print job J804, print processing 809 is actually performed, whose print start time (i.e., the time when the job becomes ready to send) is T858, which is later than T857, and the service waits for the completion of print processing 807 for print job I803. As a result, printing device V801 starts printing in the order of print job I803 and print job J804. The print job submitted to the printing device 110 (printing device-compatible cloud print service printer ID 154) is guaranteed to be printed in the order in which the print jobs were submitted, but the print order of print jobs submitted to different printing devices is not necessarily the same. Therefore, print job K805, which is processed by printing device W802, is submitted last, but starts printing first regardless of the submission order of print job I803 and print job J804.
[0048] Although the above describes the processing when pull printing is performed, processing that takes into account the order in which print jobs are submitted may also be performed in the case of push printing. For example, suppose a first print job for push printing (hereinafter, push print job A) is sent to the logical printing device 121, and push print job A is acquired by the cloud print intermediary service 130. Processing of push print job A is then started by the cloud print intermediary service 130. Before this processing is completed, suppose a second print job for push printing (hereinafter, push print job B) is sent to the logical printing device 121, and push print job B is acquired by the cloud print intermediary service 130. In this case, push print job A and push print job B are processed in parallel. The control described with reference to FIG. 7 may also be performed to determine whether to send print instructions for these print jobs. As a result, for example, even if push print job B completes processing before push print job A, the print instruction for push print job A is sent before the print instruction for push print job B.
[0049] With the above processing, when printing is performed in the cloud printing system of this embodiment, it is possible to guarantee that the printing order on the printing device 110 will follow the order in which the print jobs were submitted, while processing as quickly and in parallel as possible. Also, even if the printing device compatible cloud printing service 140, which is a downstream process of the cloud printing intermediary service 130, cannot guarantee the processing order of received print jobs, it is possible to guarantee only the order in which the print jobs are processed within the cloud printing intermediary service 130.
[0050] <Embodiment 2> In the first embodiment, a method for ensuring the order of print job processing when printing in a cloud printing system was described. In this embodiment, a method for improving the printing speed of the first embodiment will be described. Figures 1 to 5 and 8 of the first embodiment are the same in this embodiment, so their explanation will be omitted.
[0051] 9A and 9B are examples showing print processing in a cloud printing system in this embodiment. These are also collectively referred to as FIG. 9. There are four main differences from the first embodiment. First, in this embodiment, a process for calculating the time required to download print data (S910) is added before determining whether or not a print instruction can be sent in S911. Second, in this embodiment, the print job information table 152 is not updated (S615) after the print data is sent (S915). Third, in this embodiment, the print data URL 166 is saved in the print job information table 152 at the start of the process in S915. Fourth, the estimated time required to complete the print data download is referenced when determining whether or not a print instruction can be sent.
[0052] Other than these differences, the process is the same as in the first embodiment, and therefore a description thereof will be omitted. Note that S901 to S909 correspond to S601 to S609 in Fig. 6. Furthermore, S911 to S915 correspond to S610 to S614 in Fig. 6. Furthermore, S916 to S922 correspond to S616 to S622 in Fig. 6.
[0053] The first difference, S910, is a process for estimating the time required to download the print data from the print data volume, etc. For example, in S907, the amount of print data is received as part of the print job detailed information, and in S908, that amount of data is stored in the print job information table 152. In S910, the time required for downloading can be estimated from that amount of data. The fourth difference will be described in detail with reference to FIG. 10.
[0054] 10 shows details of the process in S911 in which the cloud print intermediary service 130 determines whether it is possible to send a print job to the printing device-compatible cloud print service 140. The print task 133, which processes each print job on the cloud print intermediary service 130, sends a request to the database 150 to obtain a list of print jobs currently being processed by the cloud print intermediary service 130 (S1001). Upon receiving the request, the database 150 sends the list of print jobs to the print task 133 (S1002).
[0055] If the print data download status 169 of the print job currently being processed is incomplete, the print task 133 determines whether the print data download is likely to be complete (S1003). In S1003, the estimated value of the print data download time calculated in S908 (i.e., the estimated download time) and the download delay time (not shown) set in the cloud print intermediary service 130 are used. The download delay time is the delay time from when the print task 133 sends a print instruction in S912 of FIG. 9 until when the print data download request is received in S916. This delay time is determined by the processing delay and communication delay on both sides. Since this delay time is unlikely to fluctuate significantly, the download delay time may be a fixed value obtained by measuring it in advance in the cloud print intermediary service 130, or it may be automatically set based on the communication environment.
[0056] The print task 133 compares the reference time, calculated by subtracting the download delay time from the calculated estimated download time, with the elapsed time since the start of processing in S914. If the elapsed time exceeds the reference time, the print data download completion likelihood determination is OK, and the print data download status 169 is changed to OK (S1005). The download delay time is the delay time between when the cloud intermediary service 130 sends a print instruction and when it receives a print download request. In other words, even if a print instruction is issued by the delay time before the print data download is completed, the cloud print service 130 should have acquired the print data by the time the print data download to the cloud print service 140 begins. Therefore, in S1005, the print data download status 169 is changed to OK. In other words, while in the first embodiment, the print data download status 169 being OK meant that the download was completed, in this embodiment, it means that the download is completed or that the download is expected to be completed within the reference time. The determination processing in S1005 may be performed based on other criteria, such as when the elapsed time since the start of processing in S912 exceeds a predetermined threshold.
[0057] If the print data download completion estimate in S1003 is NG (i.e., not completed within the reference time), the process exits the determination loop and makes another determination in the next loop (S1004). If the print data download status 169 is OK, the print task 133 references the print job information table 152 for the print job in the job list that has the same logical printing device 141 as the job currently being processed. If the values of the printing device-compatible cloud print service printer ID 154 are the same, it can be determined that the logical printing device 141 used is the same. The print task 133 then determines the processing order of the print jobs according to the print acceptance time 167 in the print job table for each print job that uses the same logical printing device 141. Print jobs that use the same logical printing device 141 are a group of print jobs that are printed on the same printing device. This group will be referred to as the target group.
[0058] If the print acceptance time 167 of the print job currently being processed is the earliest among the target group, the print job currently being processed is determined to have the highest priority (S1006). Note that if the cloud print service job ID 160 is assigned a numerical value that increases in the order of issuance, the print task 133 may determine the priority of the print job by comparing the size of the cloud print service job ID 160. Also, the print task 133 only determines whether a print job has a print job transmission status 168 other than OK (sent) for which it determines the priority.
[0059] If the print task 133 determines that the print job being processed has the highest print job priority, it changes the print job transmission status 168 from the default "not sent" to "ready to send" (S1007). In the procedure of FIG. 10, only the print job with the earliest reception time among the print jobs that have become ready to send is set to "ready to send." By doing so, in S912 of FIG. 9, the print task 133 waits for the print job with the earliest reception time among the print jobs for which a print instruction has not been sent to become ready to print, and then sends a print instruction for that print job to the cloud print service 140. The cloud print service 140 downloads the print data in the order in which the print instructions were received and sends it to the printing device 110, so printing is performed in the order in which the instructions were received.
[0060] This allows the cloud print intermediary service 130 to instruct the printing device 110 to print in the order in which the print jobs were submitted to the logical printing device 141. In this embodiment, the printing device-compatible cloud print service printer ID 154 is used as a filter for print jobs to determine priority. However, if there is a one-to-one relationship between the printing device-compatible cloud print service printer ID 154 and the cloud print service printer ID 153 indicating the logical printing device 121, the cloud print service printer ID 153 may also be used.
[0061] Alternatively, the search may be narrowed down using cloud print service type 155, which indicates the type of cloud print service to be used, tenant 156, which indicates the company or organization to which the user who has subscribed to the cloud print service belongs, and user 161. In this case, the print order is guaranteed based on the conditions used for narrowing down. For example, when narrowing down using cloud print service type 155, print jobs are executed in the order of submission for each cloud print service 120 subscribed to by the company. In other words, while in FIG. 10 the execution order was adjusted to match the submission order for the same logical printing device, the execution order is aligned to the submission order for each cloud print service 120. When narrowing down using tenant 156, the print order is guaranteed for each company. When narrowing down using user 161, the print order is guaranteed for each user who executed the printing.
[0062] This reduces the processing time required for printing by the amount of the download delay time. If the print data download in S915 is not completed in S916 and the print data download request fails, a retry process is performed. In this embodiment, the cloud print intermediary service 130 uses the print data download time and download delay time as judgment criteria, which may be inaccurate, but a function such as receiving service notifications from the cloud service platform is not required.
[0063] <Embodiment 3> In the second embodiment, a method for improving the printing speed was described in addition to the functions of the first embodiment. In this embodiment, another method for improving the printing speed will be described. Figures 1 to 5 and 8 of the first embodiment are the same in this embodiment, so their explanation will be omitted.
[0064] 11A and 11B are an example of print processing in a cloud printing system in this embodiment. These are collectively referred to as FIG. 11. There are three main differences from the first embodiment. First, in this embodiment, the print job information table 152 is not updated after print data transmission (S1114). Second, the print data URL 166 is saved in the print job information table 152 at the start of processing in S1114. Third, the procedure for determining whether a print instruction can be transmitted in S1110 is shown in FIG. 12 instead of FIG. 10. Since the procedure is the same as in the first embodiment except for these differences, a description thereof will be omitted. Note that S1101 to S1114 correspond to S601 to S614 in FIG. 6. Furthermore, S1115 to S1121 correspond to S616 to S622 in FIG. 6.
[0065] 12 shows details of the processing in S1110 in which the cloud print intermediary service 130 determines whether a print job can be sent to the printing device-compatible cloud print service 140. The print task 133, which processes each print job on the cloud print intermediary service 130, sends a request to the database 150 to obtain a list of print jobs currently being processed by the cloud print intermediary service 130 (S1201). Upon receiving the request, the database 150 sends the list of print jobs to the print task 133 (S1202).
[0066] If the print data download status 169 of the print job currently being processed is incomplete, the print task 133 performs a print data download completion expected notification determination (S1203). The cloud print intermediary service 130 has a function of notifying the cloud service platform on which it is running of the expected completion of the print data download, and in S1203, if this notification is received, the print data download completion expected determination is changed to OK (expected completion). This download completion expected notification may be a notification that the download will be completed within a predetermined reference time. If the print data download completion expected determination is OK, the print data download status 169 is changed to OK (S1205).
[0067] If the print data download completion expected notification determination is NG (not received) in S1203, the process exits the determination loop and makes another determination in the next loop (S1204). If the print data download status 169 is OK, the print task 133 references the print job information table 152 for the print job that is currently being processed and has the same logical printing device 141 from the job list. If the values of the printing device-compatible cloud print service printer ID 154 are the same, it can be determined that the logical printing device 141 used is the same. The print task 133 then determines the processing order of the print jobs according to the print acceptance time 167 in the print job table for each print job that uses the same logical printing device 141. Print jobs that use the same logical printing device 141 are a group of print jobs that are printed on the same printing device. This group will be called the target group.
[0068] If the print acceptance time 167 of the print job currently being processed is the earliest among the target group, the print job currently being processed is determined to have the highest priority (S1206). Note that if the cloud print service job ID 160 is assigned a number that increases in the order of issuance, the print task 133 may determine the priority of the print job by comparing the size of the cloud print service job ID 160. Also, the print task 133 only determines whether a print job has a print job transmission status 168 other than OK (sent) for which it determines the priority.
[0069] If the print task 133 determines that the print job being processed has the highest print job priority, it changes the print job transmission status 168 from the default "not sent" to "ready to send" (S1207). In the procedure of FIG. 12, only the print job with the earliest reception time among the print jobs that have become ready to send is set to "ready to send." By doing so, in S1111 of FIG. 11, the print task 133 waits for the print job with the earliest reception time among the print jobs for which a print instruction has not been sent to become ready to print, and then sends a print instruction for that print job to the cloud print service 140. The cloud print service 140 downloads the print data in the order in which the print instructions were received and sends it to the printing device 110, so printing is performed in the order in which the instructions were received.
[0070] This allows the cloud print intermediary service 130 to instruct the printing device 110 to print in the order in which the print jobs were submitted to the logical printing device 141. In this embodiment, the printing device-compatible cloud print service printer ID 154 is used as a filter for print jobs to determine priority. However, if there is a one-to-one relationship between the printing device-compatible cloud print service printer ID 154 and the cloud print service printer ID 153 indicating the logical printing device 121, the cloud print service printer ID 153 may also be used.
[0071] Alternatively, the search may be narrowed down using cloud print service type 155, which indicates the type of cloud print service to be used, tenant 156, which indicates the company or organization to which the user who has subscribed to the cloud print service belongs, and user 161. In this case, the print order is guaranteed based on the conditions used for narrowing down. For example, when narrowing down using cloud print service type 155, print jobs are executed in the order of submission for each cloud print service 120 subscribed to by the company. In other words, while in FIG. 10 the execution order was adjusted to match the submission order for the same logical printing device, the execution order is aligned to the submission order for each cloud print service 120. When narrowing down using tenant 156, the print order is guaranteed for each company. When narrowing down using user 161, the print order is guaranteed for each user who executed the printing.
[0072] The processing time required for printing can be shortened by providing a function for notifying the cloud service on which the cloud print intermediary service 130 is running of the expected completion of the data download. In this embodiment, the cloud print intermediary service 130 must have the cloud service infrastructure's function for notifying the expected completion of the print data download, but does not require the process of calculating the print data download completion time as in the second embodiment.
[0073] [Other Examples] The present invention can also be realized by supplying a program that realizes one or more functions of the above-described embodiments to a system or device via a network or a storage medium, and having one or more processors in the 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 realizes one or more functions.
[0074] The invention is not limited to the above-described embodiments, and various changes and modifications can be made without departing from the spirit and scope of the invention. Accordingly, the following claims are appended to apprise the public of the scope of the invention.
[0075] In the above description, the cloud print intermediary service 130 and the printing device-compatible cloud print service 140 are separate services configured in separate server systems. However, this is not a limitation. The cloud print intermediary service 130 and the printing device-compatible cloud print service 140 may be included in a single service and configured in a single server system. In this case, the transmission of print data in S618 may be considered a print instruction to an external service, and the print execution service by the printing device 110 may be considered a downstream service. Even in this configuration, the order in which print instructions are sent is controlled by the job submission time and submission order, thereby solving the problem. [Explanation of symbols]
[0076] 100 information processing device, 110 printing device, 120 cloud print service, 130 cloud print intermediary service, 133 print task, 140 cloud print service compatible with printing device, 150 database, 152 print job information table
Claims
1. A server system that mediates between an upstream print service that accepts print jobs and a downstream print service that executes printing in the order in which print instructions are received, a receiving means for receiving, from the upstream print service, predetermined information relating to each of a plurality of print jobs, the predetermined information being information relating to a reception time when the upstream print service received the print job, and the plurality of print jobs; a transmission unit that controls, based on the predetermined information, the order in which print instructions included in the plurality of print instructions based on the plurality of print jobs are transmitted to the downstream print service; The transmission unit transmits the print jobs to the downstream print service in order of the earliest reception time among the plurality of print jobs, for print jobs that belong to the same group as the user who submitted the print job. A server system comprising:
2. 2. The server system according to claim 1, The sending unit sends the print jobs to the downstream print service in order of earliest reception time among the plurality of print jobs for which the printing device used in the downstream print service is the same. A server system comprising:
3. 3. The server system according to claim 1, The transmission means transmits the print jobs to the downstream print service in order of earliest reception time from among the plurality of print jobs if it is determined that acquisition of print data will be completed within a reference time. A server system comprising:
4. 4. The server system according to claim 3, The reference time is a delay time from when the print job is transmitted until when the print data of the print job is transmitted. A server system comprising:
5. 4. The server system according to claim 3, The method further includes estimating a required time from the start to the completion of acquisition of the print data for each of the plurality of print jobs, The transmission means determines that acquisition of the print data will be completed within the reference time when the elapsed time from the start of acquisition of the print data exceeds a value obtained by subtracting the reference time from the required time. A server system comprising:
6. 4. The server system according to claim 3, When the transmission means receives a notification that acquisition of the print data is completed, the transmission means determines that acquisition of the print data will be completed within a reference time. A server system comprising:
7. 7. A server system according to claim 1, The receiving means acquires the print data for the print job and the transmitting means transmits the print instruction in parallel. A server system comprising:
8. A program for causing a computer to function as the server system according to any one of claims 1 to 7.
9. an upstream print service that accepts print jobs; A downstream print service that prints in the order in which it receives print instructions. The server system according to any one of claims 1 to 7. A printing system characterized by:
10. A print control method using a server system that mediates between an upstream print service that accepts print jobs and a downstream print service that executes printing in the order in which print instructions are received, the server system having a receiving means, an acquiring means, and a sending means, and the print control method includes: the receiving means receives, from the upstream print service, predetermined information relating to a reception time, which is a time when the upstream print service received the print job, and information relating to each of the plurality of print jobs, and the plurality of print jobs; a server system, wherein the sending means controls a sending order of each print instruction included in a plurality of print instructions based on the plurality of print jobs to the downstream print service based on the predetermined information; The transmission unit transmits the print jobs to the downstream print service in order of the earliest reception time among the plurality of print jobs, for print jobs that belong to the same group as the user who submitted the print job. A printing control method comprising:
Citation Information
Patent Citations
Data processing program, data processing method, and data processing apparatus
JP2019121081A
Information processing apparatus, controlling method for information processing apparatus, and program
JP2020101895A
Server system
JP2021086187A
Image forming apparatus and program
JP6672596B2