A control device for causing a printing execution unit to execute printing and a computer program therefor
By implementing a control device that dynamically switches caching based on pre-classified printing functions, the memory requirements for print data caching are reduced, addressing the inefficiency of full caching configurations.
Patent Information
- Application Number
- JP2021067001
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-09-11
- Filing Date
- 2021-04-12
- Publication Date
- 2025-05-27
- Estimated Expiration
- 2041-04-12
AI Technical Summary
Existing configurations require a large memory capacity to cache all print data, which is inefficient and costly.
A control device that switches between caching and non-caching of print data based on pre-classified printing functions, reducing memory requirements by only caching data for functions that necessitate it.
This approach reduces the memory capacity needed for caching print data, making the system more efficient and cost-effective compared to full caching configurations.
Smart Images

Figure 0007683288000001 
Figure 0007683288000002 
Figure 0007683288000003
Abstract
Description
Technical Field
[0001] This specification discloses a control device that causes a printing execution unit to execute printing of an image represented by image data received from an external device.
Background Art
[0002] Patent Document 1 discloses a system including a client PC, a printer controller, and a printer. The client PC transmits a print job to the printer controller. The printer controller executes RIP (abbreviation for Raster Image Processor) processing on the print job received from the client PC to generate RIP-processed data. Here, when the RIP-processed data has already been cached, the printer controller re-uses the RIP-processed data and transmits the RIP-processed data to the printer. The printer executes printing using the RIP-processed data received from the printer controller.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Patent Document 2
Summary of the Invention
Problems to be Solved by the Invention
[0004] If a configuration is adopted in which all print data is cached in a memory, a large memory capacity is required. This specification discloses a technique for reducing the memory capacity for caching print data by a control device for causing a printing execution unit to execute printing, by switching whether to cache the print data.
[0005] This specification discloses a control device for causing a printing execution unit to execute printing. The control device includes a memory, a first image data receiving unit that receives first image data representing a first image to be printed from an external device, and a specific information receiving unit that receives specific information for specifying which of a plurality of printing functions supported by the control device the printing should be executed according to. Each of the plurality of printing functions is pre-classified into either a first type of printing function that does not cache print data in the memory or a second type of printing function that caches print data in the memory. The specific information receiving unit, a function determination unit that uses the received specific information to determine whether to execute printing of the first image according to the first type of printing function or whether to execute printing of the first image according to the second type of printing function, a first control process execution unit that executes a first control process when it is determined that printing of the first image should be executed according to the first type of printing function, and a second control process execution unit that executes a second control process different from the first control process when it is determined that printing of the first image should be executed according to the second type of printing function may be provided. The first control process execution unit may include a first print data generation unit that converts the received first image data to generate first print data having a data format interpretable by the printing execution unit, and a first supply unit that supplies the generated first print data to the printing execution unit.The second control processing execution unit is a cache determination unit that determines whether the second print data is cached in the memory by using the received first image data, where the second print data is print data obtained by converting the received first image data and has a data format interpretable by the print execution unit; the cache determination unit; a second print data generation unit that, when it is determined that the second print data is not cached in the memory, converts the received first image data to generate the second print data; a second supply unit that, when it is determined that the second print data is not cached in the memory, supplies the generated second print data to the print execution unit; a storage control unit that, when it is determined that the second print data is not cached in the memory, stores the generated second print data in the memory; and a third supply unit that, when it is determined that the second print data is cached in the memory, supplies the second print data in the memory to the print execution unit without converting the received first image data.
[0006] According to the above configuration, when the control device determines that it should execute printing of a first image according to a first type of printing function, it does not cache the print data, and when it determines that it should execute printing of the first image according to a second type of printing function, it caches the print data. In this way, the control device can appropriately switch whether to cache the print data according to the printing function. Therefore, compared with a configuration that caches all print data, the memory capacity for caching the print data can be reduced.
[0007] Other control devices disclosed by this specification include a memory, a first image data receiving unit that receives first image data representing an image to be printed from an external device, a method determination unit that determines whether the first image data was received according to a first communication method or according to a second communication method different from the first communication method, a first control processing execution unit that executes first control processing when it is determined that the first image data was received according to the second communication method, and a second control processing execution unit that executes second control processing different from the first control processing when it is determined that the first image data was received according to the first communication method. The first control processing execution unit may include a first print data generation unit that converts the received first image data to generate first print data having a data format interpretable by the print execution unit, and a first supply unit that supplies the generated first print data to the print execution unit. The second control processing execution unit is a cache determination unit that determines whether second print data is cached in the memory using the received first image data, where the second print data is print data obtained by converting the received first image data and having a data format interpretable by the print execution unit, a second print data generation unit that converts the received first image data to generate the second print data when it is determined that the second print data is not cached in the memory, a second supply unit that supplies the generated second print data to the print execution unit when it is determined that the second print data is not cached in the memory, a storage control unit that stores the generated second print data in the memory when it is determined that the second print data is not cached in the memory, and a third supply unit that supplies the second print data in the memory to the print execution unit without converting the received first image data when it is determined that the second print data is cached in the memory.
[0008] According to the above configuration, when the control device determines that the first image data is received according to the first communication method, it does not cache the print data. When it determines that the first image data is received according to the second communication method, it caches the print data. In this way, the control device can appropriately switch whether to cache the print data according to the communication method by which the first image data is received. For this reason, compared with the configuration that caches all print data, the memory capacity for caching print data can be reduced.
[0009] The computer program for the above control device, the computer-readable storage medium storing the computer program, and the method executed by the above control device are also novel and useful.
Brief Description of the Drawings
[0010]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Modes for Carrying Out the Invention
[0011] (First Embodiment) (Configuration of Communication System 2: Figure 1) As shown in FIG. 1, the communication system 2 includes a plurality of printers 10, 20, a plurality of PCs 12, 22, a print mediation server 100, and a plurality of content servers 200, 300. Each of these devices 10, 12, 100, etc. is connected to the Internet 4 and can communicate with each other via the Internet 4.
[0012] The printer 10 and the printer 20 each have printer IDs "P1" and "P2", which are identification information for identifying the printers. The PC 12 is a user terminal for causing the printer 10 to execute printing. The PC 22 is a user terminal for causing the printer 20 to execute printing.
[0013] The print mediation server 100 is installed on the Internet 4 by the vendors of each printer 10, 20. However, in a modified example, the print mediation server 100 may be installed by a business operator different from the vendor. The print mediation server 100 mediates communication for each PC 12, 22 to cause each printer 10, 20 to execute printing.
[0014] Each content server 200, 300 is installed on the Internet 4 by a business operator different from the vendor of each printer 10, 20. However, in a modified example, each content server 200, 300 may be installed by the vendor. Also, in this embodiment, the business operator installing the education content server 200 and the business operator installing the information content server 300 are different. However, in a modified example, these business operators may be the same. The education content server 200 stores image data representing educational images (for example, homework images) and transmits the image data to the print mediation server 100 according to an instruction from the PC 12 or the like. The information content server 300 stores image data representing information images (for example, news images) and transmits the image data to the print mediation server 100 according to an instruction from the PC 12 or the like. Hereinafter, the content will be described as "CT (abbreviation of Contents)".
[0015] (Functions and Configuration of Printing Intermediary Server 100: Figure 2) Hereinafter, the printing intermediary server 100 will be abbreviated as the "intermediary server 100" for description. The intermediary server 100 supports a plurality of printing functions. The plurality of printing functions include an educational CT printing function, an information CT printing function, a cloud printing function, and an email printing function. The educational CT printing function is a function for causing a printer 10 or the like to perform printing according to image data received from the educational CT server 200. The information CT printing function is a function for causing a printer 10 or the like to perform printing according to image data received from the information CT server 300. The cloud printing function is a function for causing a printer 10 or the like to perform printing according to image data received from a PC 12 or the like. The email printing function is a function for causing a printer 10 or the like to perform printing according to image data included in an email received from a PC 12 or the like.
[0016] As shown in FIG. 2, the intermediary server 100 includes a communication interface 110 and a control unit 130. The communication interface 110 is connected to the Internet 4. The control unit 130 includes a CPU 132 and a memory 134. The CPU 132 executes various processes according to a program 140 stored in the memory 134. The memory 134 is composed of a volatile memory, a non-volatile memory, etc., and stores a plurality of tables 150 to 156 in addition to the above program 140.
[0017] The function table 150 stores the printing function information in association with the cache identification information. The printing function information is information indicating any one of the above plurality of printing functions. The cache identification information is information indicating whether printing data should be cached, and indicates either "cache" or "non-cache". The information in the function table 150 is not information stored by executing communication with a PC 12 or the like, but is predetermined information. That is, each of the above plurality of printing functions is pre-classified as "cache" or "non-cache".
[0018] Specifically, in the function table 150, "cache" is associated with the education CT printing function and the information CT printing function. Images represented by the image data received from the education CT server 200 or the information CT server 300 are usually shared by multiple users. That is, the image is usually an image on the premise that it will be printed multiple times by a plurality of printers owned by a plurality of users. Therefore, when the mediation server 100 receives the image data from the education CT server 200 or the information CT server 300, it executes conversion processing on the image data to generate print data, and caches the print data in the memory 134. Here, the above conversion processing is a process for converting image data having a data format that cannot be interpreted by the printer into print data having a data format that can be interpreted by the printer. After that, when the mediation server 100 should cause the printer to execute printing of the same image, it transmits the cached print data to the printer. Thereby, the mediation server 100 does not need to execute the above conversion processing, so that the print data can be quickly transmitted to the printer.
[0019] Also, in the function table 150, "non-cache" is associated with the cloud printing function and the email printing function. Images represented by the image data received from the PC 12 or the like are usually not shared by multiple users. That is, the image is usually an image on the premise that it will be printed only once by only one printer owned by the user who desires to print the image. Therefore, even when the mediation server 100 receives the image data representing the image from the PC 12 or the like, it does not cache the print data generated from the image data in the memory 134. Thereby, the memory capacity for caching the print data can be reduced.
[0020] The access token table 152 stores by associating an access token, a printer ID, and printing function information. Hereinafter, the access token is referred to as "AT". The AT is authentication information for using the mediation server 100. Among the plurality of printing functions described above, the AT is used for three printing functions excluding the email printing function, and the AT is not used for the email printing function. In the AT table 152, for example, the AT "T1", the printer ID "P1" of the printer 10, and the educational CT printing function are associated. This means that the mediation server 100 causes the printer 10 to execute the educational CT printing function on the condition that the authentication of the AT "T1" is successful. The information in the AT table 152 is information stored by performing various communications among the printer 10, the PC 12, etc., the mediation server 100, and each of the CT servers 200 and 300. When a user of the printer 10 or the like desires to use the educational CT printing function, the information CT printing function, or the cloud printing function, the user performs in advance an operation for storing information such as the AT in the mediation server 100.
[0021] The email table 154 stores by associating an email address and a printer ID. The email address is an address for using the email printing function. In the email table 154, for example, the email address "M1" and the printer ID "P1" of the printer 10 are associated. This means that when the mediation server 100 receives an email including the email address "M1" as the destination, the mediation server 100 causes the printer 10 to execute an image represented by the image data included in the email. The information in the email table 154 is information stored by performing various communications among the printer 10, the PC 12, etc., and the mediation server 100. When a user of the printer 10 or the like desires to use the email printing function, the user performs in advance an operation for storing the email address and the printer ID in the mediation server 100.
[0022] The cache table 156 stores by associating print data, a hash value, a file name, print settings, and an expiration date. The hash value is a value obtained by hashing the original image data of the print data. The file name is the file name of the image data. The print settings are information indicating settings (in other words, print conditions) for executing printing. In this embodiment, the print settings include a paper size (e.g., A4, A3, etc.) and the number of print colors (e.g., color printing, monochrome printing). In a modified example, the print settings may include other information such as print resolution, print side (e.g., single-sided printing, double-sided printing), etc. The expiration date is information indicating the end date for caching the print data.
[0023] Thus, in this embodiment, the print data is cached in the mediation server 100 configured separately from each of the printers 10, 20, and the tables 150, etc. are also stored in the mediation server 100. For this reason, it is possible to suppress an increase in the memory capacity of each of the printers 10, 20.
[0024] (Processing executed by the mediation server 100: FIG. 3) Subsequently, referring to FIG. 3, the processing executed by the CPU 132 of the mediation server 100 will be described. Each of the following communications is executed via the communication interface 110 and the Internet 4. Therefore, in the following description, the descriptions "via the communication interface 110" and "via the Internet 4" are omitted.
[0025] In S100, the CPU 132 monitors receiving data from the PC 12, PC 22, or each of the CT servers 200 and 300. When the CPU 132 receives data from any of the devices, it determines YES in S100 and proceeds to S110. One piece of data that can be received here is an email received from the PC (for example, 12). In this case, the CPU 132 executes the email printing function. Another piece of data is a printing request received from the PC. In this case, the CPU 132 executes the cloud printing function. Another piece of data is a printing request received from the educational CT server 200. In this case, the CPU 132 executes the educational CT printing function. Another piece of data is a printing request received from the information CT server 300. In this case, the CPU 132 executes the information CT printing function.
[0026] In S110, the CPU 132 determines whether the data received in S100 is an email or a printing request. When an email is received from the PC, a processing flow different from that in FIG. 3 is activated. The CPU 132 obtains a parameter indicating that an email has been received from the different processing flow. In this case, the CPU 132 determines YES in S110 and proceeds to S120. When the CPU 132 does not obtain the parameter, it determines NO in S110 and proceeds to S130.
[0027] The print requests received from each of the PCs 12, 22 or each of the CT servers 200, 300 are data received in accordance with HTTP (Hyper Text Transfer Protocol). More specifically, the print requests are data received in accordance with an API (abbreviation for Application Programming Interface). Therefore, it can be said that the process of S110 is a process of determining whether the data was received in accordance with a communication method for executing HTTP communication (in other words, communication based on the API) or whether the data was received in accordance with a communication method for communicating by email. Also, the emails received from each of the PCs 12, 22 are data received in accordance with, for example, POP (Post Office Protocol). Therefore, it can be said that the process of S110 is a process of determining whether the data was received in accordance with HTTP or whether the data was received in accordance with another protocol (for example, POP).
[0028] In S120, the CPU 132 first identifies the destination email address (for example, M1) included in the received email, and identifies the printer ID (for example, P1) associated with the identified email address from the email table 154 (see FIG. 2). Next, the CPU 132 executes conversion processing on the image data included in the email to generate print data having a data format interpretable by the printer. Here, the data format interpretable by the printer may be a widely known data format such as JPEG (Joint Photographic Experts Group), or may be a data format developed by the printer vendor.
[0029] In S122, the CPU 132 transmits the print data to the printer identified by the printer ID identified in S120. As a result, in the printer, printing of the image represented by the print data is executed. Thereby, the email printing function is realized.
[0030] In practice, before transmitting the print data to the printer, the CPU 132 sends a notification indicating that the print data has been generated to the printer, receives a print data transmission request from the printer, and then transmits the print data to the printer. However, in this embodiment, the communication of the above notification and transmission request is omitted in the illustration. The same applies to the following processing (e.g., S150) for transmitting the print data. Although the description is omitted, in order to send the above notification from the mediation server 100 on the Internet 4 to the printer, an XMPP (abbreviation for Extensible Messaging and Presence Protocol) connection needs to be established in advance between the mediation server 100 and the printer. By using the XMPP connection, the mediation server 100 can send the above notification to the printer beyond the firewall of the LAN to which the printer belongs. When S122 ends, without storing the print data in the cache table 156, the process returns to S100.
[0031] In S130, the CPU 132 identifies the AT (e.g., T1) included in the received print request, and from the AT table 152 (see FIG. 2), identifies the printer ID (e.g., P1) and the printing function information (e.g., educational CT printing function) associated with the identified AT.
[0032] In S132, the CPU 132 determines whether the printing function indicated by the specified printing function information is a function to cache print data (i.e., a cache target) or a function not to cache print data (i.e., a non-cache target). Specifically, the CPU 132 specifies the cache specification information associated with the specified printing function information from the function table 150 (see FIG. 2). When the specified cache specification information indicates "cache", the CPU 132 determines that it is a cache target (YES in S132) and proceeds to S140. Determining YES in S132 means that a print request has been received from the education CT server 200 or the information CT server 300, that is, the education CT printing function or the information CT printing function should be executed. On the other hand, when the specified cache specification information indicates "non-cache", the CPU 132 determines that it is a non-cache target (NO in S132) and proceeds to S120. Determining NO in S132 means that a print request has been received from the PC (e.g., 12), that is, the cloud printing function should be executed.
[0033] In S120 executed after passing through NO in S132, the CPU 132 first specifies the image data included in the print request and the print settings included in the print request. Then, the CPU 132 executes a conversion process on the specified image data according to the specified print settings to generate print data. And in S132, the CPU 132 transmits the print data to the printer identified by the printer ID specified in S130. As a result, in the printer, printing of the image represented by the print data is executed. Thereby, the cloud printing function is realized.
[0034] In S140, the CPU 132 hashes the image data included in the print request using a predetermined hash function. As a result, the CPU 32 can calculate the hash value of the image data. In a modification, the CPU 132 may calculate the hash value by hashing the combination of the image data and the print settings. Also, in another modification, the image data may be hashed to calculate a first hash value, the print data may be hashed to calculate a second hash value, and the concatenated hash value may be calculated by concatenating the first hash value and the second hash value. Generally speaking, in S140, information for determining whether the print data is cached in the cache table 156 may be calculated.
[0035] In S142, the CPU 132 determines whether the print data is already cached in the cache table 156 (see FIG. 2) using the calculated hash value. Specifically, the CPU 132 first identifies the file name of the image data included in the print request and the print settings included in the print request. When the calculated hash value, the identified file name, and the identified print settings are stored in association with the cache table 156, the CPU 132 determines that the print data is already cached (YES in S142) and proceeds to S150. On the other hand, when these pieces of information are not stored in association with the cache table 156, the CPU 132 determines that the print data is not already cached (NO in S142) and proceeds to S160.
[0036] As described above, in this embodiment, the mediation server 100 stores the hash value of the image data instead of the image data itself in the cache table 156. For this reason, it is possible to suppress an increase in the storage capacity of the memory 134. Also, the mediation server 100 determines whether the print data is already cached using not only the hash value but also the file name and the print settings. For this reason, the mediation server 100 can appropriately determine whether print data representing the same image as the image requested to be printed by the user is cached.
[0037] In S150, first, the CPU 132 identifies the print data associated with the calculated hash value from the cache table 156. Then, the CPU 132 transmits the identified print data to the printer identified by the printer ID identified in S130. That is, the CPU 132 transmits the print data to the printer without performing conversion processing on the image data. As a result, in the printer, printing of the image represented by the print data is executed. Thereby, the educational CT printing function or the information CT printing function is realized.
[0038] In S152, the CPU 132 determines whether the print function information identified in S130 indicates the information CT printing function or the educational CT printing function. When the identified print function information indicates the information CT printing function, the CPU 132 determines YES in S152 and proceeds to S154. On the other hand, when the identified print function information indicates the educational CT printing function, the CPU 132 determines NO in S152 and returns to S100 without executing S154.
[0039] In S154, the CPU 132 extends the expiration date associated with the hash value calculated in S140 in the cache table 156 by one day. In this way, when the mediation server 100 determines that the print data is cached, it extends the expiration date by one day. This is because there is a high possibility that printing of the image represented by the same print data will be requested in the future. When S154 ends, it returns to S100.
[0040] In S160, first, the CPU 132 identifies the image data included in the print request and the print settings included in the print request. Then, the CPU 132 executes conversion processing on the identified image data according to the identified print settings to generate print data.
[0041] In S162, the CPU 132 transmits the print data to the printer identified by the printer ID specified in S130. As a result, in the printer, printing of the image represented by the print data is executed. Thereby, the educational CT printing function or the information CT printing function is realized.
[0042] In S170, the CPU 132 executes a storage process (see FIG. 4). The storage process is a process of storing various types of information including print data in the cache table 156. When S170 ends, the process returns to S100.
[0043] (Storage process: FIG. 4) Subsequently, with reference to FIG. 4, the content of the storage process of S170 in FIG. 3 will be described. In S200, the CPU 132 determines whether the print function information specified in S130 of FIG. 3 indicates the information CT printing function or the educational CT printing function. When the specified print function information indicates the information CT printing function, the CPU 132 determines YES in S200 and proceeds to S202. When the specified print function information indicates the educational CT printing function, the CPU 132 determines NO in S200 and proceeds to S210.
[0044] In S202, the CPU 132 sets the date two months after today as the expiration date. In this way, for the information CT, a relatively long expiration date (i.e., two months) is set. This is because it is highly likely that the information CT will be requested to be printed by the user over a relatively long period. When S202 ends, the process proceeds to S230.
[0045] In S210, the CPU 132 determines whether the file name of the image data identified in S160 of FIG. 3 contains the character string "vacation". The character string "vacation" is a character string attached to the file name of image data representing images of homework for long vacations (e.g., summer vacation, winter vacation). If the CPU 132 determines in S210 that the file name contains the character string "vacation", it determines YES in S210 and proceeds to S212. If the file name does not contain the character string "vacation", it determines NO in S210 and proceeds to S220. Determining YES in S210 means that the image data represents an image of homework for a long vacation, and determining NO in S210 means that the image data represents an image of homework for days other than long vacations.
[0046] In S212, the CPU 132 sets the date one month from today as the expiration date. Thus, for educational CT, an expiration date shorter than that of information CT (i.e., two months in S202) is set. This is because educational CT is more likely to be requested for printing by the user within a short period compared to information CT. However, among educational CT, homework for long vacations is more likely to be requested for printing by the user over a long period compared to daily homework. For this reason, a relatively long expiration date (i.e., one month) is set for homework for long vacations. When S212 ends, it proceeds to S230.
[0047] In S220, the CPU 132 determines whether the date included in the file name of the image data identified in S160 of FIG. 3 is a weekday or a holiday (i.e., Saturday, Sunday, or a national holiday). If the CPU 132 determines in S220 that the date is a weekday, it determines YES in S220 and proceeds to S222. If the date is a holiday, it determines NO in S220 and proceeds to S224. Determining YES in S220 means that the image data represents an image of weekday homework, and determining NO in S220 means that the image data represents an image of holiday homework.
[0048] In S222, the CPU 132 sets the date one day after today as the expiration date. In this way, for daily homework, an expiration date shorter (i.e., one day) than that for long vacation homework is set. This is because daily homework is more likely to be requested for printing by the user within a short period compared to long vacation homework. In particular, weekday homework is more likely to be requested for printing by the user within a short period compared to weekend homework. For this reason, a relatively short expiration date (i.e., one day) is set for weekday homework. When S222 ends, the process proceeds to S230.
[0049] In S224, the CPU 132 sets the date two days after today as the expiration date. Among the educational CT homework, weekend homework is more likely to be requested for printing by the user over a long period (e.g., two days on Saturday and Sunday) compared to weekday homework. For this reason, a relatively long expiration date (i.e., two days) is set for weekend homework. When S224 ends, the process proceeds to S230.
[0050] In S230, the CPU 132 associates the print data already generated in S160 of FIG. 3, the hash value already calculated in S140, the file name of the image data identified in S160, the print settings identified in S160, and the expiration date determined in S202, S212, S222, or S224, and stores them in the cache table 156. When S230 ends, the process of FIG. 4 ends.
[0051] (Case A: FIG. 5) Subsequently, with reference to FIGS. 5 to 9, specific cases A to D realized by the processes of FIGS. 3 and 4 will be described. The PC 12 has already stored the ATs "T1" to "T3" (refer to the AT table 152 in FIG. 2) corresponding to each printing function. The PC 22 has already stored the ATs "T4" and "T5" corresponding to each printing function. Also, the PC 12 has already stored the email address "M1" (refer to the email table 154 in FIG. 2). First, with reference to FIG. 5, case A where the cloud printing function is executed will be described.
[0052] On Tuesday, September 1, 2020, at T100, PC12 receives a cloud printing instruction from the user. The cloud printing instruction includes the specification of image data IDA representing the image to be printed and the specification of the printing settings "A4, monochrome printing". In this case, at T110, PC12 sends a printing request including the image data IDA, the printing settings "A4, monochrome printing", and AT "T3" to the mediation server 100.
[0053] When the mediation server 100 receives a printing request from PC12 at T110 (YES in S100 of Figure 3), determines that it is not an email (NO in S110), identifies the cloud printing function based on AT "T3" (S130), and determines that it is not cacheable (NO in S132).
[0054] Next, at T120, the mediation server 100 converts the image data IDA according to the printing settings "A4, monochrome printing" to generate printing data PDA (S120). Then, at T122, the mediation server 100 sends the printing data PDA to the printer 10 (S122). As a result, at T130, the image represented by the printing data PDA is printed by the printer 10, and the cloud printing function is realized. In the cloud printing function, since the printing data PDA is not cached, the memory capacity of the mediation server 100 can be reduced.
[0055] (Case B: Figure 5) Subsequently, case B where the email printing function is executed will be described. On Tuesday, September 1, 2020, at T200, PC12 receives an email printing instruction from the user. The email printing instruction includes the specification of image data IDB representing the image to be printed and the specification of the destination address "M1". In this case, at T210, PC12 sends an email including the image data IDB and the destination address "M1" to the mediation server 100.
[0056] When the intermediary server 100 receives an email from the PC 12 at T210 (YES at S100 in FIG. 3), it determines that it is an email (YES at S110). In this case, the intermediary server 100 converts the image data IDB and generates print data PDB at T220 (S120). Then, the intermediary server 100 transmits the print data PDB to the printer 10 at T222 (S122). As a result, at T230, the image represented by the print data PDB is printed by the printer 10, and the email printing function is realized. In the email printing function, since the print data PDB is not cached, the memory capacity of the intermediary server 100 can be reduced.
[0057] (Case C: FIG. 6) Subsequently, referring to FIG. 6, case C in which the educational CT printing function is executed will be described. When the PC 12 receives an instruction from the user to access the educational CT server 200 on September 1, 2020 (Tuesday), at T300, it transmits a login request to the educational CT server 200, and at T302, it receives an educational CT list including a plurality of educational CT file names from the educational CT server 200.
[0058] The PC 12 displays the educational CT list at T304 and receives a selection and a print instruction of one educational CT file name "20200901_homework" from the user at T306. The print instruction includes the designation of print settings "A4, color printing". In this case, the PC 12 transmits selection information including the selected file name, the print settings "A4, color printing", and AT "T1" to the educational CT server 200 at T310.
[0059] When the educational CT server 200 receives the selection information from the PC 12 at T310, at T320, it transmits a print request including each piece of information included in the selection information and the image data IDC specified by the selected file name to the intermediary server 100.
[0060] In T320, when the mediation server 100 receives a print request from the educational CT server (YES in S100 of FIG. 3), and determines that it is not an email (NO in S110), it identifies the educational CT printing function based on AT “T1” (S130), and determines that it is a caching target (YES in S132).
[0061] Next, in T330, the mediation server 100 hashes the image data IDC to generate a hash value (S140), and determines that the hash value, the file name “20200901_homework”, and the print settings “A4, color printing” are not stored in the cache table 156 in an associated manner (NO in S142). The mediation server 100 further converts the image data IDC according to the print settings “A4, color printing” to generate print data PDC (S160). Then, in T332, the mediation server 100 sends the print data PDC to the printer 10 (S162). As a result, in T340, the image represented by the print data PDC is printed by the printer 10, and the educational CT printing function is realized.
[0062] The mediation server 100 further determines that it is not educational CT (NO in S200 of FIG. 4), determines that the file name “20200901_homework” does not contain the character string “vacation” (NO in S210), determines that the date of the file name “20200901” is a weekday (S220), and determines the expiration date as September 2, 2020, which is the date one day after today (S222). Then, in T350, the mediation server 100 associates the print data PDC, the hash value HC calculated in T330, the file name “20200901_homework”, the print settings “A4, color printing”, and the expiration date “September 2, 2020” and stores them in the cache table 156 (S230). In this way, in the educational CT printing function, since the print data PDC is cached, later, when a print request according to the same print data PDC is made, the mediation server 100 can quickly send the print data PDC to the printer.
[0063] (Continued from FIG. 6: FIG. 7) Next, with reference to FIG. 7, the continuation of FIG. 6 will be described. In PC22, which is different from PC12 in FIG. 6, the same processing as that of T300 to T306 in FIG. 6 is executed. In this case, at T410, PC22 transmits selection information including the selected file name "20200901_homework", the print setting "A4, color printing", and AT "T4" to the education CT server 200.
[0064] When the education CT server 200 receives the selection information from PC22 at T410, at T420, it transmits a print request including each piece of information included in the selection information and the image data IDC specified by the selected file name to the mediation server 100.
[0065] When the mediation server 100 receives the print request from the education CT server at T420 (YES in S100 of FIG. 3), determines that it is not an email (NO in S110), identifies the education CT printing function based on AT "T4" (S130), and determines that it is a cache target (YES in S132).
[0066] Next, in the mediation server 100, in the T430, it hashes the image data IDC to generate a hash value (S140), and determines that the hash value, the file name "20200901_homework", and the printing settings "A4, color printing" are stored in the cache table 156 in association with each other (see T350 in FIG. 6) (YES in S142). In this case, without performing the conversion process on the image data IDC, in the T432, the mediation server 100 transmits the print data PDC in the cache table 156 to the printer 20 (S150). For this purpose, the mediation server 100 can quickly transmit the print data PDC to the printer 20. As a result, in the T440, the image represented by the print data PDC is printed by the printer 20, and the educational CT printing function is realized. Since the mediation server 100 further determines that it is educational CT (NO in S152), it does not extend the expiration date "September 2, 2020". Educational CT is something that should be studied (i.e., printed) within a predetermined period (for example, one day for daily questions, or during the vacation for long vacation homework), and the possibility of being used after that period has passed is low.
[0067] (Case D: Figure 8) Subsequently, referring to FIG. 8, a case D where the information CT printing function is executed will be described. In response to receiving an instruction from the user to access the information CT server 300 on September 1, 2020 (Tuesday), in the T500, the PC12 transmits a login request to the information CT server 300, and in the T302, receives an information CT list including a plurality of information CT file names from the information CT server 300.
[0068] In the T504, the PC12 displays the information CT list, and in the T506, receives the selection and printing instruction of one information CT file name "2020_Sep_information" from the user. The printing instruction includes the specification of the printing settings "A3, color printing". In this case, in the T510, the PC12 transmits the selection information including the selected file name, the printing settings "A3, color printing", and the AT "T2" to the information CT server 300.
[0069] When the information CT server 300 receives the selection information from the PC 12 at T510, at T520, it transmits a print request including each piece of information included in the selection information and the image data IDD specified by the selected file name to the mediation server 100.
[0070] When the mediation server 100 receives a print request from the information CT server 300 at T520 (YES in S100 of FIG. 3), determines that it is not an e-mail (NO in S110), identifies the information CT printing function based on AT “T2” (S130), and determines that it is a cache target (YES in S132).
[0071] Next, at T530, the mediation server 100 hashes the image data IDD to generate a hash value (S140), and determines that the hash value, the file name “2020_Sep_information”, and the print setting “A3, color printing” are not stored in association with the cache table 156 (NO in S142). The mediation server 100 further converts the image data IDD according to the print setting “A3, color printing” to generate print data PDD (S160). Then, at T532, the mediation server 100 transmits the print data PDD to the printer 10 (S162). As a result, at T540, the image represented by the print data PDD is printed by the printer 10, and the information CT printing function is realized.
[0072] The mediation server 100 further determines that it is information CT (YES in S200 of FIG. 4) and decides to set the expiration date as November 1, 2020, which is the date two months later (S202). Then, in T550, the mediation server 100 associates the print data PDD, the hash value calculated in T530, the file name "2020_Sep_information", the print settings "A3, color printing", and the expiration date "November 1, 2020", and stores them in the cache table 156 (S230). In this way, in the information CT printing function, since the print data PDD is cached, later, when a print request according to the same print data PDD is made, the mediation server 100 can quickly send the print data PDD to the printer.
[0073] (Continuation of FIG. 8: FIG. 9) Subsequently, referring to FIG. 9, the continuation of FIG. 8 will be described. In a PC22 different from the PC12 in FIG. 8, the same processing as T500 to T506 in FIG. 8 is executed. In this case, in T510, the PC22 sends selection information including the selected file name "2020_Sep_information", the print settings "A3, color printing", and AT "T5" to the information CT server 300.
[0074] When the information CT server 300 receives the selection information from the PC22 in T510, in T520, it sends a print request including each piece of information included in the selection information and the image data IDD specified by the selected file name to the mediation server 100.
[0075] When the mediation server 100 receives the print request from the information CT server 300 in T520 (YES in S100 of FIG. 3), it determines that it is not an email (NO in S110), identifies the information CT printing function based on AT "T5" (S130), and determines that it is a cache target (YES in S132).
[0076] Next, in T530, the mediation server 100 hashes the image data IDD to generate a hash value (S140), and determines that the hash value, the file name "2020_Sep_information", and the print settings "A3, color printing" are stored in the cache table 156 in an associated manner (see T550 in FIG. 8) (YES in S142). In this case, without executing the conversion process for the image data IDD, the mediation server 100 transmits the print data PDD in the cache table 156 to the printer 20 in T532 (S150). For this purpose, the mediation server 100 can quickly transmit the print data PDD to the printer 20. As a result, in T540, the image represented by the print data PDD is printed by the printer 20, and the information CT printing function is realized. The mediation server 100 further determines that it is information CT (YES in S152), and in T650, extends the expiration date "November 1, 2020" by one day and stores the expiration date "November 2, 2020" in the cache table 156 (S154).
[0077] (Effect of this embodiment) According to this embodiment, when the mediation server 100 determines that printing should be executed according to the cloud printing function (NO in S132 in FIG. 3), it does not cache the print data, and when it determines that printing should be executed according to the education CT printing function or the information CT printing function (YES in S132), it caches the print data. In this way, the mediation server 100 can appropriately switch whether to cache the print data according to the printing function. For this reason, compared with the configuration of caching all print data, the memory capacity for caching the print data can be reduced.
[0078] Also, according to this embodiment, when the mediation server 100 determines that an e-mail containing image data has been received (YES in S110 of FIG. 3), it does not cache the print data, and when it determines that a print request containing image data has been received (NO in S110), it caches the print data. In this way, the mediation server 100 can appropriately switch whether to cache the print data according to the communication method in which the image data is received. For this reason, compared with a configuration in which all print data is cached, the memory capacity for caching the print data can be reduced.
[0079] (Corresponding relationship) The mediation server 100, printers 10 and 20 are, respectively, examples of a "control device" and a "print execution unit". PCs 12 and 22, the education CT server 200, and the information CT server 300 are examples of a "control device". The education CT printing function, the information CT printing function, and the cloud printing function are examples of "a plurality of printing functions". The education CT printing function and the information CT printing function are examples of a "first type of printing function". The education CT printing function and the information CT printing function are examples of a "first printing function" and a "second printing function", respectively. The cloud printing function is an example of a "second type of printing function". AT is an example of "specific information". The processes of S120 and S122 in FIG. 3 are examples of a "first control process". The processes of S130 to S170 are examples of a "second control process". The hash value is an example of a "digest value". The periods of S212, S222, or S224 in FIG. 4 are examples of a "first period". The period of S202 is an example of a "second period". The periods of S222 or S224 are examples of a "third period". The period of S212 is an example of a "fourth period". The periods of S222 and S224 are examples of a "fifth period" and a "sixth period", respectively. Weekdays are an example of a "predetermined period". In another example, a normal period other than a long vacation is an example of a "predetermined period". In this case, the periods of S222 or S224 are examples of a "fifth period", and the period of S212 is an example of a "sixth period". The print settings and the file name are examples of "related data".
[0080] The processing of S100 in FIG. 3 is an example of the processing executed by the "first image data receiving unit", the "second image data receiving unit", and the "specific information receiving unit". The processing of S110 is an example of the processing executed by the "method determination unit". The processing of S130 and S132 is an example of the processing executed by the "function determination unit". The processing of S120 and S122 is an example of the processing executed by the "first control processing execution unit". The processing of S120 is an example of the processing executed by the "first print data generation unit" and the "third print data generation unit". S122 is an example of the "first supply unit" and the "fourth supply unit". The processing of S140 to S170 is an example of the processing executed by the "second control processing execution unit". S140, S142, S160, S162, S170, S150, and S154 are respectively examples of the processing executed by the "digest value generation unit", the "cache determination unit", the "second print data generation unit", the "second supply unit", the "memory control unit", the "third supply unit", and the "extension unit".
[0081] (Second Embodiment: FIG. 10) In this embodiment, as shown in FIG. 10, the memory 134 stores tables 152A to 156A different from the respective tables 152 to 156 of the first embodiment. The memory 134 further stores a model name table 158.
[0082] The AT table 152A of this embodiment stores, in addition to the AT, the printer ID, and the printing function information, the model name of the printer in an associated manner. The model name of printer 10 is "AAA", and the model name of printer 20 is "BBB". A user such as printer 10 performs in advance the operation for storing each information including the model name in the AT table 152A and the e-mail table 154A.
[0083] The cache table 156A of this embodiment stores, in addition to information such as print data and hash values, format information indicating the data format of the print data in association. How the format information is stored will be described later.
[0084] The model name table 158 stores, in association, the model name of the printer and format information indicating the data format interpretable by the printer having the model name. In this embodiment, printer 10 having the model name "AAA" can interpret JPEG (abbreviation for Joint Photographic Experts Group) print commands, and printer 20 having the model name "BBB" can interpret PWG (abbreviation for Printer Working Group) raster.
[0085] In S120 of FIG. 3, the CPU 132 first identifies the destination email address (e.g., M1) included in the received email, and identifies the printer ID (e.g., P1) and model name (e.g., "AAA") associated with the identified email address from the email table 154A (see FIG. 10). Next, the CPU 132 identifies the format information (e.g., format information indicating "JPEG printer command") associated with the identified model name (e.g., "AAA") from the model name table 158 (see FIG. 10). Then, the CPU 132 executes a conversion process on the image data included in the email to generate print data having the data format indicated by the identified format information.
[0086] In S122, the CPU 132 transmits the print data generated in S120 to the printer identified by the printer ID identified in S120. Here, the print data has a data format interpretable by the printer. Therefore, the mediation server 100 can appropriately cause the printer to execute printing of the image represented by the print data.
[0087] In S160, first, the CPU 132 identifies, from the AT table 152A (see FIG. 10), the model name (e.g., "AAA") associated with the AT (e.g., T1) included in the received print request. Next, the CPU 132 identifies, from the model name table 158 (see FIG. 10), the format information (e.g., format information indicating "JPEG printer command") associated with the identified model name (e.g., "AAA"). The CPU 132 further identifies the image data included in the print request and the print settings included in the print request. Then, the CPU 132 executes a conversion process on the identified image data according to the identified print settings to generate print data having a data format indicated by the identified format information.
[0088] In S162, the CPU 132 transmits the print data generated in S160 to the printer identified by the printer ID identified in S130. Here, the print data has a data format interpretable by the printer. Therefore, the mediation server 100 can appropriately cause the printer to execute printing of the image represented by the print data.
[0089] In S230 of FIG. 4, the CPU 132 also stores the format information identified in S160 in the cache table 156A (see FIG. 10) in association with the print data and the like. Thereby, the mediation server 100 can also cache the format information indicating the data format of the print data.
[0090] In case A of FIG. 5, in T120, the mediation server 100 identifies, from the AT table 152A (see FIG. 10), the model name "AAA" associated with the AT "T3" included in the print request, and identifies, from the model name table 158 (see FIG. 10), the format information "JPEG printer command" associated with the identified model name "AAA" (S120 in the case of NO in S132 of FIG. 3). Then, the mediation server 100 generates print data PDA having the identified JPEG printer command (S120), and in T122, transmits the print data PDA to the printer 10 (S122).
[0091] In case B of FIG. 5, at T220, the mediation server 100 identifies, from the email table 154A (see FIG. 10), the model name "AAA" associated with the destination address "M1" included in the email, and identifies, from the model name table 158 (see FIG. 10), the format information "JPEG printer command" associated with the identified model name "AAA" (S120 in FIG. 3 when YES in S110). Then, the mediation server 100 generates print data PDB having the identified JPEG printer command (S120), and transmits the print data PDB to the printer 10 at T222 (S122).
[0092] In case C of FIG. 6, at T330, the mediation server 100 identifies, from the AT table 152A (see FIG. 10), the model name "AAA" associated with the AT "T1" included in the print request, and identifies, from the model name table 158 (see FIG. 10), the format information "JPEG printer command" associated with the identified model name "AAA" (S160 in FIG. 3). Then, the mediation server 100 generates print data PDC having the identified JPEG printer command (S160), and transmits the print data PDC to the printer 10 at T332 (S162). The mediation server 100 causes the format information indicating the JPEG printer command to be stored in the cache table 156A in association with the print data PDC, etc. at T350 (S230 in FIG. 4).
[0093] In case D of FIG. 8, in T530, the mediation server 100 identifies the model name "AAA" associated with the AT "T2" included in the print request from the AT table 152A (see FIG. 10), and identifies the format information "JPEG printer command" associated with the identified model name "AAA" from the model name table 158 (see FIG. 10) (S160 in FIG. 3). Then, the mediation server 100 generates print data PDD having the identified JPEG printer command (S160), and in T532, transmits the print data PDD to the printer 10 (S162). In T550, the mediation server 100 also stores in the cache table 156A the format information indicating the JPEG printer command in association with the print data PDD, etc. (S230 in FIG. 4).
[0094] According to this embodiment, since the mediation server 100 generates print data having a data format corresponding to the model name of the printer to execute printing, each printing function such as the cloud printing function can be appropriately executed by the printer.
[0095] In this embodiment, in the cases of FIGS. 5, 6, and 8, the printer 10 is an example of the "first printer" and the "second printer", and the JPEG printer command is an example of the "first data format" and the "second data format". In the cases of FIGS. 7 and 9, the printer 20 is an example of the "second printer". Also, in case B of FIG. 5, the destination address M1 included in the e-mail of T210 is an example of the "first information". In case C of FIG. 6 or case D of FIG. 8, the AT "T1" or "T2" included in the print request of T320 or T520 is an example of the "second information".
[0096] Note that JPEG printer commands and PWG raster are examples of data formats that can be interpreted by printers 10 and the like. For example, printer 10 may be able to interpret data formats different from JPEG printer commands (e.g., PDF, PWG raster, the vendor-specific data format of printer 10, etc.). Also, for example, printer 20 may be able to interpret data formats different from PWG raster (e.g., PDF, JPEG printer command, the vendor-specific data format of printer 20, etc.).
[0097] As described above, specific examples of the present invention have been described in detail, but these are merely examples and do not limit the scope of the claims. The technology described in the claims includes various modifications and changes of the specific examples illustrated above. Modifications of the above embodiments are listed below.
[0098] (Modification Example 1) It is not necessary to provide the mediation server 100. For example, printer 10 may be provided with a printer memory that stores each of the tables 150 to 156, and may receive a print request for T110 in FIG. 5 or a print request for T320 in FIG. 6 from PC 12 without going through the mediation server 100. When printer 10 receives a print request for T110, it may not cache the print data in the printer memory, and when it receives a print request for T320, it may cache the print data in the printer memory. Also, printer 10 may receive the e-mail of T210 in FIG. 5 or the print request for T320 in FIG. 6 from PC 12 without going through the mediation server 100. When printer 10 receives an e-mail, it may not cache the print data in the printer memory, and when it receives a print request, it may cache the print data in the printer memory. In this modification example, the control unit and the print engine of the printer are examples of the "control device" and the "print execution unit", respectively. Also, each process executed by the control unit of the printer is an example of a process executed by the "first image data reception unit", the "specific information reception unit", the "function determination unit", the "method determination unit", the "first control process execution unit", and the "second control process execution unit", etc.
[0099] (Modification Example 2) "Specific information" is not limited to AT, and may be, for example, other information indicating the type of printing function. Such other information may be, for example, a command indicating the type of printing function, information for identifying an application that implements the printing function, and the like.
[0100] (Modification Example 3) "The first type of printing function" is not limited to the cloud printing function, and may be, for example, an information CT printing function. That is, the information CT printing function and the education CT printing function may be examples of "the first type of printing function" and "the second type of printing function", respectively. In this case, it can be expressed that "the first type of printing function" is a printing function according to the first type of service (for example, the information CT providing service), and "the second type of printing function" is a printing function according to the second type of service different from the first type of service (for example, the education CT providing service). Also, it can be expressed that "the first type of printing function" is a printing function for printing an image provided by the first operator (for example, the operator providing information CT), and "the second type of printing function" is a printing function for printing an image provided by a second operator different from the first operator (for example, the operator providing education CT). Also, in another modification example, "the second type of printing function" is not limited to the education CT printing function and the information CT printing function, and may be, for example, a printing function for other content, or may be a cloud printing function.
[0101] (Modification Example 4) "Digest value" is not limited to the hash value, and may be a value calculated by a method different from the hash function. In another modification example, S140 in FIG. 3 may be omitted, and the image data itself may be stored in the cache table 156 instead of the hash value. In this modification example, the "digest value generation unit" can be omitted.
[0102] (Modification Example 5) The deadline determined in S202 in FIG. 4 and the deadline determined in S212 may be the same. That is, the "first period" and the "second period" may be the same. In another modification example, the deadline determined in S212 and the deadline determined in S222 may be the same. That is, the "third period" and the "fourth period" may be the same. In another modification example, the deadline determined in S222 and the deadline determined in S224 may be the same. That is, the "fifth period" and the "sixth period" may be the same. Also, in another modification example, the period for caching does not have to be determined. In this case, when the capacity of the memory 134 exceeds the threshold value, the old print data may be erased.
[0103] (Modification Example 6) S154 in FIG. 3 may be omitted. In this modification example, the "extension part" can be omitted.
[0104] (Modification Example 7) The mediation server 100 does not have to support the e-mail printing function. In this case, S110 in FIG. 3 can be omitted, and when YES in S100, it may proceed to S130. In this modification example, the "second image data receiving unit", the "third print data generating unit", and the "fourth supply unit" can be omitted. In another modification example, the mediation server 100 may support only the e-mail printing function and the educational CT printing function. In this case, S130 and S132 in FIG. 3 can be omitted, and when NO in S110, it may proceed to S140.
[0105] (Modification Example 8) The "first communication method" is not limited to the communication method for executing HTTP communication, and may be another communication method (for example, the communication method for executing e-mail communication). The "second communication method" is not limited to the communication method for executing e-mail communication, and may be another communication method (for example, the communication method for executing HTTP communication).
[0106] (Modification Example 9) "Related data" is not limited to print settings and file names. For example, it may include data for identifying schools that use educational CT, or data for identifying classes within a school. For example, a print request that requests the execution of the educational CT printing function includes image data and a school ID or class ID, and the mediation server 100 stores the hash value of the image data and the ID in the cache table 156 in association with the print data generated from the image data. In this case, when the mediation server 100 subsequently receives a print request including the image data and the ID, since the hash value of the image data and the ID are stored in the cache table 156, it can be determined that the print data is cached. Also, in another modification example, a configuration may be adopted in which the AT and the school ID or class ID are stored in advance in the access token table 152 in association with each other. In this case, the mediation server 100 can store the ID stored in association with the AT included in the print request in the cache table 156. Also, in another modification example, in S142 of FIG. 3, the determination may be made without using the print settings and file names. That is, the "cache determination unit" may not determine whether or not it is cached using the related data.
[0107] (Modification Example 10) In the above-described embodiment, each process of FIGS. 3 to 9 is realized by the CPU 132 of the mediation server 100 executing the program 140 (i.e., software). Instead of this, any process may be realized by hardware such as a logic circuit.
[0108] Also, the technical elements described in this specification or the drawings exhibit technical utility alone or in various combinations, and are not limited to the combinations described in the claims at the time of filing. Also, the technology exemplified in this specification or the drawings achieves a plurality of purposes simultaneously, and has technical utility by achieving one of those purposes itself.
Explanation of Reference Numerals
[0109] 2: Communication system, 10, 20: Printer, 12, 22: PC, 100: Printing intermediary server, 110: Communication interface, 130: Control unit, 132: CPU, 134: Memory, 140: Program, 150: Function table, 152, 152A: Access token table, 154, 154A: Email table, 156, 156A: Cache table, 158: Model name table, 200: Educational content server, 300: Information content server
Claims
1. A control device for causing a printing execution unit to execute printing, comprising: a memory; a first image data receiving unit that receives first image data representing a first image to be printed from an external device; a specific information receiving unit that receives specific information for specifying which of a plurality of printing functions supported by the control device the printing should be executed according to, wherein each of the plurality of printing functions is pre-classified into either a first type of printing function that does not cache print data in the memory or a second type of printing function that caches print data in the memory, the specific information receiving unit; a function determination unit that determines whether to execute printing of the first image according to the first type of printing function or whether to execute printing of the first image according to the second type of printing function by using the received specific information; a first control processing execution unit that executes a first control process when it is determined that printing of the first image should be executed according to the first type of printing function; a second control processing execution unit that executes a second control process different from the first control process when it is determined that printing of the first image should be executed according to the second type of printing function, comprising: The first control processing execution unit includes: a first print data generation unit that converts the received first image data to generate first print data having a data format interpretable by the printing execution unit; a first supply unit that supplies the generated first print data to the printing execution unit; The second control processing execution unit includes: a cache determination unit that determines whether second print data is cached in the memory by using the received first image data, wherein the second print data is print data obtained by converting the received first image data and having a data format interpretable by the printing execution unit, the cache determination unit; a second print data generation unit that converts the received first image data to generate the second print data when it is determined that the second print data is not cached in the memory; a second supply unit that supplies the generated second print data to the printing execution unit when it is determined that the second print data is not cached in the memory; When it is determined that the second print data is not cached in the memory, a storage control unit that stores the generated second print data in the memory; When it is determined that the second print data is cached in the memory, a third supply unit that supplies the second print data in the memory to the print execution unit without converting the received first image data; Control device.
2. The second control processing execution unit further includes: A digest value generation unit that digests the received first image data and generates a digest value; The cache determination unit determines whether the second print data is cached in the memory by determining whether the generated digest value is stored in the memory; The storage control unit stores the generated second print data and the generated digest value in association with each other in the memory when it is determined that the second print data is not cached in the memory. The control device according to claim 1.
3. The control device is a server configured separately from the printer that is the print execution unit. The control device according to claim 1 or 2.
4. The memory stores, for each of two or more pieces of the specific information, the specific information and function information indicating one of the plurality of printing functions in association with each other; The function determination unit: Identifies the function information associated with the received specific information from the memory; By determining whether the printing function indicated by the identified function information is the first type of printing function or the second type of printing function, it is determined whether to print the first image according to the first type of printing function or print the first image according to the second type of printing function. The control device according to claim 3.
5. The specific information includes an access token. The control device according to claim 4.
6. The memory stores format information indicating a data format interpretable by each of a plurality of printers; The first print data generation unit: Uses the received specific information to identify, from the memory, first format information indicating a first data format interpretable by a first printer for printing the first image; Convert the received first image data to generate the first print data having the first data format indicated by the identified first format information, The first supply unit transmits the generated first print data to the first printer, The second print data generation unit, When it is determined that the second print data is not cached in the memory, using the received specific information, identify, from the memory, second format information indicating a second data format interpretable by a second printer for printing the first image, Convert the received first image data to generate the second print data having the second data format indicated by the identified second format information, The second supply unit transmits the generated second print data to the second printer when it is determined that the second print data is not cached in the memory, The third supply unit transmits the second print data in the memory to the second printer without converting the received first image data when it is determined that the second print data is cached in the memory, according to the control device of claim 4 or 5.
7. The second type of printing function is a function for printing a specific image on the premise of being printed multiple times, according to the control device of any one of claims 1 to 6.
8. The specific image includes educational content, according to the control device of claim 7.
9. The second type of printing function includes a first printing function and a second printing function different from the first printing function, The memory control unit, When it is determined that the printing of the first image should be executed according to the first printing function which is the second type of printing function, and it is determined that the second print data is not cached in the memory, associate the second print data with first period information indicating a first period for caching the second print data in the memory and store them in the memory, When it is determined that printing of the first image should be executed according to the second printing function which is the second type of printing function, and it is determined that the second printing data is not cached in the memory, the second printing data and second period information indicating a second period for caching the second printing data in the memory are associated with each other and stored in the memory. The control device according to any one of claims 1 to 8, wherein the second period is longer than the first period. **Claim 10** When it is determined that printing of the first image should be executed according to the second printing function which is the second type of printing function, and it is determined that the second printing data is not cached in the memory, the memory control unit stores the second printing data and period information indicating a period for caching the second printing data in the memory in the memory in association with each other. The second control processing execution unit further The control device according to any one of claims 1 to 9, further comprising an extension unit that extends a period indicated by the period information associated with the second printing data when it is determined that the second printing data is cached in the memory. **Claim 11** The memory control unit When it is determined that printing of the first image should be executed according to the second printing function which is the second type of printing function, it is determined that the second printing data is not cached in the memory, and the first image includes first content, the second printing data and third period information indicating a third period for caching the second printing data in the memory are associated with each other and stored in the memory. When it is determined that printing of the first image should be executed according to the second printing function which is the second type of printing function, it is determined that the second printing data is not cached in the memory, and the first image includes second content different from the first content, the second printing data and fourth period information indicating a fourth period for caching the second printing data in the memory are associated with each other and stored in the memory. The control device according to any one of claims 1 to 10, wherein the fourth period is longer than the third period. **Claim 12** The memory control unit It is determined that printing of the first image should be executed according to the second type of printing function, and it is determined that the second print data is not cached in the memory, and when the date identifying the first image data is within a predetermined period, the second print data and fifth period information indicating a fifth period for caching the second print data in the memory are stored in the memory in association with each other. It is determined that printing of the first image should be executed according to the second type of printing function, and it is determined that the second print data is not cached in the memory, and when the date identifying the first image data is not within the predetermined period, the second print data and sixth period information indicating a sixth period for caching the second print data in the memory are stored in the memory in association with each other. The sixth period is longer than the fifth period. The control device according to any one of claims 1 to 11.
13. The first image data receiving unit receives the first image data from the external device according to a first communication method. When the first image data is received from the external device according to the first communication method, the function determination unit uses the received specific information to determine whether to execute printing of the first image according to the first type of printing function or to execute printing of the first image according to the second type of printing function. The control device further includes a second image data receiving unit that receives second image data representing a second image to be printed from the external device according to a second communication method different from the first communication method. When the second image data is received from the external device according to the second communication method, the first control process execution unit executes the first control process. The first control process execution unit further includes a third print data generation unit that converts the received second image data to generate third print data having a data format interpretable by the print execution unit, and a fourth supply unit that supplies the generated third print data to the print execution unit. The control device according to any one of claims 1 to 12.
14. A control device for causing a print execution unit to execute printing, comprising a memory, a first image data receiving unit that receives first image data representing a first image to be printed from an external device, A method determination unit that determines whether the first image data was received according to a first communication method or a second communication method different from the first communication method; A first control process execution unit that executes a first control process when it is determined that the first image data was received according to the second communication method; A second control process execution unit that executes a second control process different from the first control process when it is determined that the first image data was received according to the first communication method, comprising: The first control process execution unit includes: A first print data generation unit that converts the received first image data to generate first print data having a data format interpretable by the print execution unit; A first supply unit that supplies the generated first print data to the print execution unit; The second control process execution unit includes: A cache determination unit that determines whether second print data is cached in the memory using the received first image data, where the second print data is print data obtained by converting the received first image data and has a data format interpretable by the print execution unit; A second print data generation unit that converts the received first image data to generate the second print data when it is determined that the second print data is not cached in the memory; A second supply unit that supplies the generated second print data to the print execution unit when it is determined that the second print data is not cached in the memory; A storage control unit that stores the generated second print data in the memory when it is determined that the second print data is not cached in the memory; A third supply unit that supplies the second print data in the memory to the print execution unit without converting the received first image data when it is determined that the second print data is cached in the memory; A control device.
15. The control device is a server configured separately from a printer that is the print execution unit, The memory stores format information indicating a data format interpretable by each of a plurality of printers for each printer; The first print data generation unit includes: Using the first information received together with the first image data, identify from the memory first format information indicating a first data format interpretable by a first printer for printing the first image; Convert the received first image data to generate first print data having the first data format indicated by the identified first format information; The first supply unit transmits the generated first print data to the first printer; The second print data generation unit; When it is determined that the second print data is not cached in the memory, using the second information received together with the first image data, identify from the memory second format information indicating a second data format interpretable by a second printer for printing the first image; Convert the received first image data to generate second print data having the second data format indicated by the identified second format information; When it is determined that the second print data is not cached in the memory, the second supply unit transmits the generated second print data to the second printer; The third supply unit transmits the second print data in the memory to the second printer without converting the received first image data when it is determined that the second print data is cached in the memory. The control device according to claim 14. **Claim 16** The first communication method is a communication method for performing communication according to HTTP (Hyper Text Transfer Protocol); The second communication method is a communication method for communicating by e-mail. The control device according to any one of claims 13 to 15. **Claim 17** The first image data receiving unit further receives from the external device the first image data and associated data related to the first image data; The cache determination unit determines whether the second print data is cached in the memory using the received first image data and the received associated data. The control device according to any one of claims 1 to 16. **Claim 18** The associated data includes print settings to be used for printing the first image and a file name of the first image data. The control device according to claim 17.
19. A computer program for a control device for causing a printing execution unit to execute printing, comprising: causing a computer of the control device to function as each of the following units, namely: a first image data receiving unit that receives first image data representing a first image to be printed from an external device; a specific information receiving unit that receives specific information for specifying which printing function among a plurality of printing functions supported by the control device should be used to execute printing, wherein each of the plurality of printing functions is pre-classified into either a first type of printing function that does not cache print data in a memory or a second type of printing function that caches print data in the memory, the specific information receiving unit; a function determination unit that determines whether to execute printing of the first image according to the first type of printing function or whether to execute printing of the first image according to the second type of printing function by using the received specific information; a first control process execution unit that executes a first control process when it is determined that printing of the first image should be executed according to the first type of printing function; a second control process execution unit that executes a second control process different from the first control process when it is determined that printing of the first image should be executed according to the second type of printing function; The first control process execution unit includes: a first print data generation unit that converts the received first image data to generate first print data having a data format interpretable by the printing execution unit; a first supply unit that supplies the generated first print data to the printing execution unit; The second control process execution unit includes: a cache determination unit that determines whether second print data is cached in the memory by using the received first image data, wherein the second print data is print data obtained by converting the received first image data and having a data format interpretable by the printing execution unit, the cache determination unit; a second print data generation unit that converts the received first image data to generate the second print data when it is determined that the second print data is not cached in the memory; When it is determined that the second print data is not cached in the memory, a second supply unit that supplies the generated second print data to the print execution unit; When it is determined that the second print data is not cached in the memory, a storage control unit that stores the generated second print data in the memory; When it is determined that the second print data is cached in the memory, a third supply unit that supplies the second print data in the memory to the print execution unit without converting the received first image data; A computer program. [
20. ] A computer program for a control device for causing a print execution unit to execute printing, The computer of the control device to the following units, namely, A first image data receiving unit that receives first image data representing a first image to be printed from an external device; A method determination unit that determines whether the first image data was received according to a first communication method or a second communication method different from the first communication method; A first control processing execution unit that executes first control processing when it is determined that the first image data was received according to the second communication method; When it is determined that the first image data was received according to the first communication method, function as a second control processing execution unit that executes second control processing different from the first control processing; The first control processing execution unit A first print data generation unit that converts the received first image data and generates first print data having a data format interpretable by the print execution unit; A first supply unit that supplies the generated first print data to the print execution unit; The second control processing execution unit A cache determination unit that determines whether second print data is cached in the memory using the received first image data, where the second print data is print data obtained by converting the received first image data and has a data format interpretable by the print execution unit; When it is determined that the second print data is not cached in the memory, a second print data generation unit that converts the received first image data and generates the second print data; When it is determined that the second print data is not cached in the memory, a second supply unit that supplies the generated second print data to the print execution unit; When it is determined that the second print data is not cached in the memory, a storage control unit that stores the generated second print data in the memory; When it is determined that the second print data is cached in the memory, a third supply unit that supplies the second print data in the memory to the print execution unit without converting the received first image data; and A computer program.
Citation Information
Patent Citations
Printing control device, printing control method, and computer program
JP2010128941A
Information processing apparatus and information processing method
JP2013037548A
Program for predicting processing time of variable print data and image forming apparatus
JP2013123878A
Program, information processing terminal, printing system, and information processing method
JP2015166920A