Control device for causing a printing execution unit to perform printing and storage medium
Patent Information
- Application Number
- CN202111047435.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2021-04-12
- Filing Date
- 2021-09-08
- Publication Date
- 2026-10-30
- Estimated Expiration
- 2041-09-08
Smart Images

Figure CN114168088B_ABST
Abstract
Description
Technical Field
[0001] This specification discloses a control device that enables a printing execution unit to print an image represented by image data received from an external device. Background Technology
[0002] Patent Document 1 discloses a system comprising a client PC, a printer controller, and a printer. The client PC sends a print job to the printer controller. The printer controller performs RIP (Raster Image Processor) processing on the print job received from the client PC, generating RIP data. Here, the printer controller, having already cached the RIP data, uses it again to send the RIP data to the printer. The printer uses the RIP data received from the printer controller to perform printing.
[0003] Existing technical documents
[0004] Patent documents
[0005] Patent Document 1: Japanese Patent Application Publication No. 2010-128941
[0006] Patent Document 2: Japanese Patent Application Publication No. 2013-123878 Summary of the Invention
[0007] The problem that the invention aims to solve
[0008] When a structure is used that caches all printing data in the memory, a large amount of memory capacity is required. This specification discloses a technique in which a control device for instructing the printing execution unit to perform printing reduces the memory capacity required for caching printing data by switching between caching and not caching the printing data.
[0009] This specification discloses a control device for causing a printing execution unit to perform printing. Alternatively, the control device may include: a memory; a first image data receiving unit that receives first image data representing a first image of a printing object from an external device; a determination information receiving unit that receives determination information from the external device, the determination information being used to determine which of a plurality of printing functions supported by the control device should be used to perform printing, each of the plurality of printing functions being pre-classified as either a first printing function that does not cache printing data in the memory or a second printing function that does cache printing data in the memory; a function determination unit that uses the received determination information to determine whether printing the first image should be performed according to the first printing function or according to the second printing function; a first control processing execution unit that performs first control processing when it is determined that printing the first image should be performed according to the first printing function; and a second control processing execution unit that performs second control processing different from the first control processing when it is determined that printing the first image should be performed according to the second printing function. Alternatively, the first control processing execution unit may include: a first printing data generation unit that converts the received first image data to generate first printing data in a data format that the printing execution unit can interpret; and a first supply unit that supplies the generated first printing data to the printing execution unit. Alternatively, the second control processing execution unit may include: a cache determination unit that uses the received first image data to determine whether second printing data is cached in the memory, the second printing data being printing data obtained by converting the received first image data and having a data form that the printing execution unit can interpret; a second printing data generation unit that, if it is determined that the second printing data is not cached in the memory, converts the received first image data to generate the second printing data; a second supply unit that, if it is determined that the second printing data is not cached in the memory, supplies the generated second printing data to the printing execution unit; a storage control unit that, if it is determined that the second printing data is not cached in the memory, causes the memory to store the generated second printing data; and a third supply unit that, if it is determined that the second printing data is cached in the memory, supplies the second printing data in the memory to the printing execution unit without converting the received first image data.
[0010] According to the above structure, when the control device determines that printing the first image should be performed according to the first printing function, it does not cache the printing data; when it determines that printing the first image should be performed according to the second printing function, it caches the printing data. In this way, the control device can appropriately switch whether to cache printing data based on the printing function. Therefore, compared to a structure that caches all printing data, the memory capacity used for caching printing data can be reduced.
[0011] Alternatively, other control devices disclosed in this specification may include: a memory; a first image data receiving unit that receives first image data representing a first image of a printing object from an external device; a mode determination unit that determines whether the first image data is received according to a first communication mode or a second communication mode different from the first communication mode; a first control processing execution unit that executes first control processing when it is determined that the first image data is received according to the second communication mode; 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 is received according to the first communication mode. Alternatively, the first control processing execution unit may include: a first printing data generation unit that converts the received first image data to generate first printing data having a data format that the printing execution unit can interpret; and a first supply unit that supplies the generated first printing data to the printing execution unit. Alternatively, the second control processing execution unit may include: a cache determination unit that uses the received first image data to determine whether second printing data is cached in the memory, the second printing data being printing data obtained by converting the received first image data and having a data form that the printing execution unit can interpret; a second printing data generation unit that, if it is determined that the second printing data is not cached in the memory, converts the received first image data to generate the second printing data; a second supply unit that, if it is determined that the second printing data is not cached in the memory, supplies the generated second printing data to the printing execution unit; a storage control unit that, if it is determined that the second printing data is not cached in the memory, causes the memory to store the generated second printing data; and a third supply unit that, if it is determined that the second printing data is cached in the memory, supplies the second printing data in the memory to the printing execution unit without converting the received first image data.
[0012] According to the above structure, the control device does not cache printing data when it determines that the first image data has been received according to the first communication method, and caches printing data when it determines that the first image data has been received according to the second communication method. In this way, the control device can appropriately switch whether to cache printing data based on the communication method used to receive the first image data. Therefore, compared to a structure that caches all printing data, the memory capacity used for caching printing data can be reduced.
[0013] The computer program for the aforementioned control device, the computer-readable storage medium storing the computer program, and the method executed by the aforementioned control device are also novel and useful. Attached Figure Description
[0014] Figure 1 It represents the structure of a communication system.
[0015] Figure 2 This represents the control structure of the printing intermediary server.
[0016] Figure 3 This is a flowchart illustrating the processes performed by the printing intermediary server.
[0017] Figure 4 This is a flowchart illustrating the storage process.
[0018] Figure 5 A sequence diagram representing scenarios A and B.
[0019] Figure 6 The sequence diagram represents case C.
[0020] Figure 7 express Figure 6 The subsequent sequence diagram.
[0021] Figure 8 The sequence diagram represents case D.
[0022] Figure 9 express Figure 8 The subsequent sequence diagram.
[0023] Figure 10 The control structure of the printing intermediary server in the second embodiment is shown. Detailed Implementation
[0024] (First Embodiment)
[0025] (Structure of Communication System 2:) Figure 1 )
[0026] like Figure 1As shown, the communication system 2 includes multiple printers 10 and 20, multiple PCs 12 and 22, a printing intermediary server 100, and multiple content servers 200 and 300. These devices 10, 12, 100, etc., are connected to the Internet 4 and can communicate with each other via the Internet 4.
[0027] Printers 10 and 20 each have printer IDs "P1" and "P2" respectively, which serve as identification information for the printers. PC12 is a user terminal used to enable printer 10 to perform printing. PC22 is a user terminal used to enable printer 20 to perform printing.
[0028] The printing intermediary server 100 is set up on the Internet 4 by the vendors of each printer 10, 20. However, in a variant, the printing intermediary server 100 may also be set up by an operator different from the vendor. The printing intermediary server 100 mediates communications between each PC 12, 22 for enabling each printer 10, 20 to perform printing.
[0029] Each content server 200, 300 is set up on the Internet 4 by an operator different from the supplier of each printer 10, 20. However, in a variant, each content server 200, 300 may also be set up by the same supplier. Furthermore, in this embodiment, the operator setting up the educational content server 200 is different from the operator setting up the information content server 300. However, in a variant, these operators may be the same. The educational content server 200 stores image data representing educational relationships (e.g., images of assignments) and sends this image data to the printing intermediary server 100 according to instructions from the PC 12, etc. The information content server 300 stores image data representing information (e.g., images of news) and sends this image data to the printing intermediary server 100 according to instructions from the PC 12, etc. Hereinafter, the content will be referred to as "CT (abbreviation for Contents)".
[0030] (Functions and structure of the printing intermediary server 100:) Figure 2 )
[0031] Hereinafter, the printing intermediary server 100 will be abbreviated as "intermediary server 100". Intermediary server 100 supports multiple printing functions. These multiple printing functions include educational CT printing, information CT printing, cloud printing, and email printing. The educational CT printing function enables printers such as 10 to perform printing based on image data received from the educational CT server 200. The information CT printing function enables printers such as 10 to perform printing based on image data received from the information CT server 300. The cloud printing function enables printers such as 10 to perform printing based on image data received from the PC 12. The email printing function enables printers such as 10 to perform printing based on image data contained in emails received from the PC 12.
[0032] like Figure 2 As shown, 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 the program 140 stored in the memory 134. The memory 134 is composed of volatile memory, non-volatile memory, etc., and in addition to the program 140 mentioned above, it also stores multiple tables 150 to 156.
[0033] Function table 150 stores printing function information and cache determination information in correspondence. Printing function information refers to any one of the multiple printing functions mentioned above. Cache determination information indicates whether printing data should be cached, representing either "cache" or "non-cache". The information in function table 150 is not stored through communication with PC 12, etc., but is predetermined. That is, each of the multiple printing functions mentioned above is pre-classified as either "cache" or "non-cache".
[0034] Specifically, in function table 150, "caching" corresponds to the educational CT printing function and the information CT printing function. Images represented by image data received from the educational CT server 200 or the information CT server 300 are typically shared by multiple users. That is, the image is usually intended to be printed multiple times using multiple printers owned by multiple users. Therefore, when the intermediate server 100 receives the image data from the educational CT server 200 or the information CT server 300, it performs a conversion process on the image data to generate printing data and caches the printing data in memory 134. Here, the aforementioned conversion process is used to convert image data with a data format that the printer cannot interpret into printing data with a data format that the printer can interpret. Afterwards, when the printer should perform printing of the same image, the intermediate server 100 sends the cached printing data to the printer. Thus, the intermediate server 100 can quickly send the printing data to the printer without performing the aforementioned conversion process.
[0035] Furthermore, in function table 150, "non-cached" corresponds to the cloud printing function and the email printing function. The image represented by image data received from PC 12, etc., is typically not shared by multiple users. That is, the image is usually intended to be printed only once using a printer owned by the user who wants the image printed. Therefore, even if the intermediary server 100 receives image data representing the image from PC 12, etc., it does not cache the printing data generated based on the image data in memory 134. This reduces the memory capacity used for caching printing data.
[0036] Access token table 152 stores access tokens, printer IDs, and printing function information accordingly. Hereinafter, the access token will be referred to as "AT". AT is authentication information used to utilize the intermediary server 100. AT is used in three of the aforementioned printing functions, excluding the email printing function; it is not used in the email printing function. In AT table 152, for example, AT "T1", printer ID "P1" of printer 10, and educational CT printing function are associated. This means that the intermediary server 100 enables printer 10 to perform educational CT printing function upon successful authentication of AT "T1". The information in AT table 152 is stored through various communications between printer 10, PC 12, intermediary server 100, and each CT server 200, 300. Users of printer 10, etc., who wish to utilize educational CT printing function, information CT printing function, or cloud printing function, pre-execute an operation to store information such as AT in the intermediary server 100.
[0037] Email table 154 stores email addresses corresponding to printer IDs. An email address is an address used to utilize the email printing function. In email table 154, for example, email address "M1" corresponds to printer ID "P1" of printer 10. This means that when intermediary server 100 receives an email containing email address "M1" as its destination, printer 10 executes an image represented by the image data contained in that email. The information in email table 154 is stored through various communications between printer 10, PC 12, and intermediary server 100. Users of printer 10, etc., who wish to utilize the email printing function, pre-execute the operation of storing email addresses and printer IDs in intermediary server 100.
[0038] Cache table 156 stores the print data, hash value, file name, print settings, and expiration date accordingly. The hash value is obtained by hashing the original image data of the print data. The file name is the file name of the image data. Print settings are information indicating the settings (in other words, print conditions) used to perform the print operation; in this embodiment, this includes paper size (e.g., A4, A3, etc.) and the number of print colors (e.g., color printing, monochrome printing). In variations, print settings may also include other information such as print resolution and print surface (e.g., single-sided printing, double-sided printing). The expiration date indicates the date on which the cached print data will expire.
[0039] Thus, in this embodiment, the printing data is cached in an intermediary server 100, which is separately configured with each printer 10 and 20, and tables such as table 150 are also stored in the intermediary server 100. Therefore, it is possible to prevent the memory capacity of each printer 10 and 20 from increasing.
[0040] (Processing performed by intermediary server 100:) Figure 3 )
[0041] Next, refer to Figure 3 The following describes the processing performed by the CPU 132 of the intermediary server 100. All subsequent communications are performed via communication interface 110 and the Internet 4. Therefore, in the following description, phrases such as "via communication interface 110" and "via the Internet 4" are omitted.
[0042] In S100, CPU132 monitors the data received from PC12, PC22, or various CT servers 200 and 300. When CPU132 receives data from a device, it determines "yes" in S100 and proceeds to S110. One type of data that can be received is an email received from PC (e.g., PC12). In this case, CPU132 performs the email printing function. Another type of data is a print request received from PC. In this case, CPU132 performs the cloud printing function. Another type of data is a print request received from educational CT server 200. In this case, CPU132 performs the educational CT printing function. Finally, another type of data is a print request received from information CT server 300. In this case, CPU132 performs the information CT printing function.
[0043] In S110, CPU132 determines whether the data received in S100 is an email or a print request. If an email is received from a PC, the process is initiated... Figure 3 Different processing flows. CPU 132 obtains the parameter indicating that an email has been received from this different processing flow. In this case, CPU 132 determines "yes" in S110 and proceeds to S120. If the parameter is not obtained, CPU 132 determines "no" in S110 and proceeds to S130.
[0044] Print requests received from PCs 12 and 22 or CT servers 200 and 300 are received using HTTP (Hypertext Transfer Protocol). More specifically, the print request is received using API (Application Programming Interface). Therefore, the processing in S110 can be described as determining whether the data was received using a communication method for performing HTTP communication (in other words, API-based communication) or a communication method for communicating via email. Additionally, emails received from PCs 12 and 22 are received, for example, using POP (Post Office Protocol). Therefore, the processing in S110 can be described as determining whether the data was received using HTTP or another protocol (such as POP).
[0045] In S120, CPU132 first determines the destination email address (e.g., M1) contained in the received email, from email table 154 (see reference). Figure 2The CPU 132 determines the printer ID (e.g., P1) corresponding to the determined email address. Next, the CPU 132 performs conversion processing on the image data contained in the email, generating print data in a format that the printer can interpret. This interpretable data format can be, for example, a well-known format such as JPEG (short for Joint Photographic Experts Group), or a format developed by the printer's supplier.
[0046] In S122, CPU132 sends printing data to the printer identified by the printer ID determined in S120. As a result, the printing of the image represented by the printing data is performed in that printer. Thus, the email printing function is realized.
[0047] Furthermore, in practice, before sending the print data to the printer, the CPU 132 sends a notification to the printer indicating that print data has been generated, receives a request to send the print data from the printer, and then sends the print data to the printer. However, in this embodiment, the illustration of the communication between the notification and the sending request is omitted. The same applies to the following process for sending print data (e.g., S150). Additionally, although the description is omitted, in order to send the aforementioned notification from the intermediary server 100 on the Internet 4 to the printer, an XMPP (Extensible Messaging and Presence Protocol) connection needs to be pre-established between the intermediary server 100 and the printer. The intermediary server 100 can send the aforementioned notification to the printer by utilizing the XMPP connection, bypassing the firewall of the LAN to which the printer belongs. When S122 ends, the print data is not stored in the cache table 156, and the process returns to S100.
[0048] In S130, CPU 132 determines the AT (e.g., T1) contained in the received print request from AT table 152 (refer to...). Figure 2 Determine the printer ID (e.g., P1) and printing function information (e.g., educational CT printing function) corresponding to the determined AT.
[0049] In S132, CPU132 determines whether the printing function represented by the determined printing function information is a function that caches printing data (i.e., a cached object) or a function that does not cache printing data (i.e., a non-cached object). Specifically, CPU132 selects from function table 150 (refer to...) Figure 2The CPU 132 determines the cache determination information corresponding to the determined printing function information. If the determined cache determination information indicates "cache," the CPU 132 determines it is a cache object ("yes" in S132) and proceeds to S140. A determination of "yes" in S132 means a printing request has been received from the Education CT Server 200 or the Information CT Server 300, indicating that the Education CT printing function or the Information CT printing function should be executed. Conversely, if the determined cache determination information indicates "non-cache," the CPU 132 determines it is a non-cache object ("no" in S132) and proceeds to S120. A determination of "no" in S132 means a printing request has been received from the PC (e.g., 12), indicating that the cloud printing function should be executed.
[0050] In S120, executed via "No" in S132, CPU 132 first determines the image data and printing settings included in the print request. Then, according to the determined printing settings, CPU 132 performs conversion processing on the determined image data to generate print data. Then, in S132, CPU 132 sends the print data to the printer identified by the printer ID determined in S130. As a result, the image represented by the print data is printed in that printer. Thus, cloud printing functionality is realized.
[0051] In S140, CPU 132 hashes the image data contained in the print request using a predetermined hash function. Therefore, CPU 132 can calculate the hash value of the image data. In a variant, CPU 132 can also hash the combination of the image data and the print settings to calculate the hash value. Alternatively, in another variant, the image data can be hashed to calculate a first hash value, the print data can be hashed to calculate a second hash value, and the first and second hash values can be concatenated to calculate a concatenated hash value. Generally, in S140, it is sufficient to calculate information used to determine whether print data is cached in cache table 156.
[0052] In S142, CPU132 uses the calculated hash value to determine whether the printed data has been cached in cache table 156 (see reference). Figure 2 Specifically, CPU 132 first determines the filename of the image data included in the print request and the print settings included in the print request. If the calculated hash value, the determined filename, and the determined print settings are stored in the cache table 156, CPU 132 determines that the print data has been cached ("Yes" in S142) and proceeds to S150. On the other hand, if this information is not stored in the cache table 156, CPU 132 determines that the print data has not been cached ("No" in S142) and proceeds to S160.
[0053] Thus, in this embodiment, the cache table 156 of the intermediary server 100 stores the hash value of the image data, rather than the image data itself. Therefore, it is possible to prevent the storage capacity of the memory 134 from increasing. Furthermore, the intermediary server 100 uses not only the hash value but also the filename and printing settings to determine whether printing data has been cached. Therefore, the intermediary server 100 can appropriately determine whether printing data representing the same image as the image requested by the user has been cached.
[0054] In step S150, CPU 132 first determines the printing data corresponding to the calculated hash value from cache table 156. Then, CPU 132 sends the determined printing data to the printer identified by the printer ID determined in step S130. That is, CPU 132 does not perform conversion processing for the image data but sends the printing data to the printer. As a result, the printing of the image represented by the printing data is performed in the printer. Thus, educational CT printing or information CT printing functions are realized.
[0055] In S152, CPU132 determines whether the printing function information determined in S130 indicates an information CT printing function or an educational CT printing function. If the determined printing function information indicates an information CT printing function, CPU132 determines "yes" in S152 and proceeds to S154. On the other hand, if the determined printing function information indicates an educational CT printing function, CPU132 determines "no" in S152, does not execute S154, and returns to S100.
[0056] In S154, CPU 132 extends the validity period of the hash value calculated in S140 by one day in cache table 156. Thus, the intermediary server 100 extends the validity period by one day if it determines that the printing data has been cached. This is because the probability of future requests for printing images represented by the same printing data is high. When S154 ends, the process returns to S100. Furthermore, in this embodiment, the intermediary server 100 extends the validity period by one day if it determines that the printing data has been cached and the determined printing function information is the information CT printing function.
[0057] In S160, CPU132 first determines the image data and printing settings included in the printing request. Then, according to the determined printing settings, CPU132 performs conversion processing on the determined image data to generate printing data.
[0058] In step S162, CPU 132 sends printing data to the printer identified by the printer ID determined in step S130. As a result, the printing of the image represented by the printing data is performed in that printer. Thus, educational CT printing function or information CT printing function is realized.
[0059] In S170, CPU132 performs memory processing (see reference). Figure 4 The storage process involves storing various information containing the printing data in cache table 156. When S170 ends, the process returns to S100.
[0060] (Storage processing:) Figure 4 )
[0061] Next, refer to Figure 4 ,right Figure 3 The contents of the storage processing in S170 will be explained. In S200, CPU132 determines that... Figure 3 In S130, the determined printing function information indicates either information CT printing function or educational CT printing function. If the determined printing function information indicates information CT printing function, CPU132 determines "yes" in S200 and proceeds to S202; if the determined printing function information indicates educational CT printing function, it determines "no" in S200 and proceeds to S210.
[0062] In S202, CPU132 sets the validity period from today to two months from now. Thus, a relatively long validity period (i.e., two months) is set for the information CT. This is because the likelihood of the information CT being requested for printing by users during a longer period is high. When S202 ends, proceed to S230.
[0063] In S210, CPU132 determines that... Figure 3 In step S160, the filename of the image data, which has already been determined, contains the string "vacation". The string "vacation" is appended to the filename of the image data representing an operation on a long-term vacation (e.g., summer vacation, winter vacation). If the filename contains the string "vacation", CPU132 determines "yes" in step S210 and proceeds to step S212; if the filename does not contain the string "vacation", it determines "no" in step S210 and proceeds to step S220. A determination of "yes" in step S210 indicates that the image data represents an image of an operation on a long-term vacation; a determination of "no" in step S210 indicates that the image data represents an image of a daily operation that is not on a long-term vacation.
[0064] In S212, CPU132 sets the expiration date to one month from today. Thus, for educational CTs, a shorter expiration date is set than for information CTs (i.e., two months in S202). This is because educational CTs are more likely to be requested for printing by users within a short period compared to information CTs. However, for educational CTs with long-term leave, the likelihood of being requested for printing by users over a longer period is higher than for daily jobs. Therefore, for jobs with long-term leave, a longer expiration date (i.e., one month) is set. When S212 ends, proceed to S230.
[0065] In S220, CPU132 determines that... Figure 3 In step S160, the filename of the image data, already determined, contains a date that corresponds to a weekday or a weekend / holiday (i.e., Saturday, Sunday, or public holiday). If the date is a weekday, CPU 132 determines "yes" in step S220 and proceeds to step S222; if the date is a weekend / holiday, it determines "no" in step S220 and proceeds to step S224. A determination of "yes" in step S220 indicates that the image data represents an image from a weekday's work; a determination of "no" in step S220 indicates that the image data represents an image from a weekend / holiday's work.
[0066] In S222, CPU132 sets the expiration date to one day from today. Thus, for daily jobs, a shorter expiration date (i.e., one day) is set compared to jobs on long holidays. This is because daily jobs are more likely to be requested for printing by users within a shorter period compared to jobs on long holidays. In particular, weekday jobs are more likely to be requested for printing within a shorter period compared to jobs on rest days. Therefore, a shorter expiration date (i.e., one day) is set for weekday jobs. When S222 ends, proceed to S230.
[0067] In S224, CPU132 sets the expiration date to two days from today. Assignments made on rest days in educational CT are more likely to be requested for printing over a longer period (e.g., Saturday and Sunday) compared to weekday assignments. Therefore, a longer expiration date (i.e., two days) is set for assignments made on rest days. When S224 ends, proceed to S230.
[0068] In S230, CPU132 will... Figure 3 The printing data generated in S160, the hash value calculated in S140, the filename of the image data determined in S160, the printing settings determined in S160, and the validity period determined in S202, S212, S222, or S224 are correspondingly stored in cache table 156. When S230 ends, Figure 4 The processing is now complete.
[0069] (Scenario A:) Figure 5 )
[0070] Next, refer to Figures 5-9 , for through Figure 3 and Figure 4 The specific implementation details of the processing are explained in sections A through D. PC12 stores AT "T1" through "T3" corresponding to each printing function (see reference). Figure 2 AT Table 152). PC22 has stored AT "T4" and "T5" corresponding to each printing function. In addition, PC12 has stored email address "M1" (see AT Table 152). Figure 2 Email form 154). First, refer to Figure 5 The following explains scenario A, which involves executing the cloud printing function.
[0071] In T100, on Tuesday, September 1, 2020, PC12 receives a cloud printing instruction from the user. The cloud printing instruction includes the specification of image data IDA representing the image of the object to be printed and the specification of printing settings "A4, monochrome printing". In this case, in T110, PC12 sends a printing request including image data IDA, printing settings "A4, monochrome printing", and AT "T3" to the intermediary server 100.
[0072] When the intermediary server 100 receives a printing request from PC12 in T110 (in Figure 3 If the value is "yes" in S100, it is determined that it is not an email (if the value is "no" in S110). Based on AT "T3", the cloud printing function is determined (S130), and it is determined that it is not a cached object (if the value is "no" in S132).
[0073] Next, in S120, the intermediate server 100 converts the image data IDA according to the printing settings "A4, monochrome printing" to generate the printing data PDA (S120). Then, in T122, the intermediate server 100 sends the printing data PDA to the printer 10 (S122). As a result, in T130, the printer 10 prints the image represented by the printing data PDA, realizing the cloud printing function. In the cloud printing function, since the printing data PDA is not cached, the storage capacity of the intermediate server 100 can be reduced.
[0074] (Scenario B:) Figure 5 )
[0075] Next, scenario B, which involves performing the email printing function, will be described. In T200, on Tuesday, September 1, 2020, PC12 receives an email printing instruction from the user. The email printing instruction includes a specification of image data IDB representing an image of the object to be printed and a specification of the destination address "M1". In this case, PC12 sends an email containing the image data IDB and the destination address "M1" to the intermediary server 100 in T210.
[0076] When the intermediary server 100 receives email from PC 12 in T210 (in Figure 3 If the condition is "yes" in S100, it is determined to be an email (if "yes" is in S110). In this case, the intermediary server 100 converts the image data IDB in T220 to generate print data PDB (S120). Then, the intermediary server 100 sends the print data PDB to the printer 10 in T222 (S122). As a result, in T230, the printer 10 prints the image represented by the print data PDB, realizing the email printing function. In the email printing function, since the print data PDB is not cached, the memory capacity of the intermediary server 100 can be reduced.
[0077] (Scenario C:) Figure 6 )
[0078] Next, refer to Figure 6 The following describes scenario C, which involves performing the educational CT printing function. On Tuesday, September 1, 2020, PC12 receives an instruction from the user to access the educational CT server 200. Accordingly, a login request is sent to the educational CT server 200 in T300, and a list of educational CTs containing filenames of multiple educational CTs is received from the educational CT server 200 in T302.
[0079] PC12 displays the list of educational CTs in T304, and in T306, it accepts the selection of an educational CT filename "20200901_homework" and printing instructions from the user. The printing instructions include the specification of printing settings "A4, color printing". In this case, PC12 sends the selection information, including the selected filename, printing settings "A4, color printing", and AT "T1", to the educational CT server 200 in T310.
[0080] When the educational CT server 200 receives the selection information from the PC 12 in T310, it sends a printing request containing the information included in the selection information and the image data IDC determined by the selected file name to the intermediary server 100 in T320.
[0081] When the intermediary server 100 receives a print request from the education CT server in the T320 (in Figure 3 If the value is "yes" in S100, it is determined that it is not an email (if the value is "no" in S110). Based on AT "T1", the educational CT printing function is determined (S130), and it is determined that it is a cached object (if the value is "yes" in S132).
[0082] Next, in T330, the intermediary 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 printing settings "A4, color printing" are not stored in the cache table 156 (in S142, "No"). The intermediary server 100 also converts the image data IDC according to the printing settings "A4, color printing" to generate print data PDC (S160). Then, in T332, the intermediary server 100 sends the print data PDC to the printer 10 (S162). As a result, in T340, the printer 10 prints the image represented by the print data PDC, realizing the educational CT printing function.
[0083] The intermediary server 100 was further identified as an educational CT (in...) Figure 4 If the filename "20200901_homework" does not contain the string "vacation" (if "no" in S210), and the date "20200901" in the filename is determined to be a weekday (S220), then the expiration date will be September 2, 2020, one day from today (S222). Then, the intermediary server 100 stores the print data PDC, the hash value HC calculated in T330, the filename "20200901_homework", the print settings "A4, color printing", and the expiration date "September 2, 2020" in the cache table 156 in T350 (S230). Thus, in the educational CT printing function, because the print data PDC is cached, the intermediary server 100 can quickly send the print data PDC to the printer in subsequent requests for printing using the same print data PDC.
[0084] ( Figure 6 The follow-up: Figure 7 )
[0085] Next, refer to Figure 7 ,right Figure 6 Further explanation will follow. In relation to... Figure 6 In PC12, different from PC22, execution and Figure 6The same processing applies to T300 to T306. In this case, PC22 sends the selected filename "20200901_homework", print settings "A4, color printing", and AT "T4" selection information to the Education CT Server 200 in T410.
[0086] When the educational CT server 200 receives the selection information from the PC 22 in T410, it sends a printing request containing the information included in the selection information and the image data IDC determined by the selected file name to the intermediary server 100 in T420.
[0087] When the intermediary server 100 receives a print request from the education CT server in T420 (in Figure 3 If the value is "yes" in S100, it is determined that it is not an email (if the value is "no" in S110). Based on AT "T4", the educational CT printing function is determined (S130), and it is determined that it is a cache object (if the value is "yes" in S132).
[0088] Next, the intermediary server 100 hashes the image data IDC in T430 to generate a hash value (S140), and determines that the hash value, the file name "20200901_homework", and the printing settings "A4, color printing" correspond to the cache table 156 and stores them accordingly (see reference). Figure 6 (S142 is "Yes"). In this case, the intermediary server 100 does not perform conversion processing for the image data IDC, but sends the print data PDC in the cache table 156 to the printer 20 in T432 (S150). Therefore, the intermediary server 100 is able to quickly send the print data PDC to the printer 20. As a result, in T440, the printer 20 prints the image represented by the print data PDC, realizing the educational CT printing function. The intermediary server 100 further determines that it is an educational CT (S152 is "No"), and therefore does not extend the validity period "September 2, 2020". This is because educational CT is content that should be learned (i.e., content that should be printed) during a predetermined period (e.g., 1 day if it is a daily assignment, and during a long vacation assignment), and the possibility of it being used after that period is low.
[0089] (Scenario D:) Figure 8 )
[0090] Next, refer to Figure 8The following describes scenario D, which involves performing the information CT printing function. On Tuesday, September 1, 2020, PC12 receives an instruction from the user to access the information CT server 300. Accordingly, a login request is sent to the information CT server 300 in T500, and a list of information CTs containing filenames of multiple information CTs is received from the information CT server 300 in T502.
[0091] PC12 displays the information CT list in T504, and in T506, it receives a selection of the filename "2020_Sep_information" for an information CT from the user, along with printing instructions. The printing instructions include the specification of printing settings "A3, Color Printing". In this case, PC12 sends selection information including the selected filename, printing settings "A3, Color Printing", and AT "T2" to the information CT server 300 in T510.
[0092] When the information CT server 300 receives the selection information from the PC 12 in T510, it sends a printing request containing the information included in the selection information and the image data IDD determined by the selected file name to the intermediary server 100 in T520.
[0093] When the intermediary server 100 receives a printing request from the information CT server 300 in T520 (in Figure 3 If the value is "yes" in S100, it is determined that it is not an email (if the value is "no" in S110). Based on AT "T2", the information CT printing function is determined (S130), and it is determined that it is a cached object (if the value is "yes" in S132).
[0094] Next, in T530, the intermediate server 100 hashes the image data IDD to generate a hash value (S140), and determines that the hash value, the filename "2020_Sep_information", and the printing settings "A3, color printing" are not stored in the cache table 156 (in S142, "No"). The intermediate server 100 also converts the image data IDD according to the printing settings "A3, color printing" to generate printing data PDD (S160). Then, in T532, the intermediate server 100 sends the printing data PDD to the printer 10 (S162). As a result, in T540, the printer 10 prints the image represented by the printing data PDD, realizing the information CT printing function.
[0095] The intermediary server 100 further determined that it was information CT (in Figure 4In S200 (where S200 is "Yes"), the expiration date of November 1, 2020, two months later, is determined as the expiration date (S202). Then, in T550, the intermediary server 100 stores 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" in the cache table 156 (S230). In this way, in the information CT printing function, since the print data PDD is cached, the intermediary server 100 can quickly send the print data PDD to the printer in the event of a subsequent request to print according to the same print data PDD.
[0096] ( Figure 8 The follow-up: Figure 9 )
[0097] Next, refer to Figure 9 right Figure 8 Further explanation will follow. In relation to... Figure 8 In PC12, different from PC22, execution and Figure 8 The same processing applies to T500 to T506. In this case, PC22 sends the selected filename "2020_Sep_information", printing settings "A3, color printing", and AT "T5" selection information to the information CT server 300 in T610.
[0098] When the information CT server 300 receives the selection information from the PC22 in T610, it sends a printing request containing the information included in the selection information and the image data IDD determined by the selected file name to the intermediary server 100 in T620.
[0099] When the intermediary server 100 receives a printing request from the information CT server 300 in the T620 (in Figure 3 If the value is "yes" in S100, it is determined that it is not an email (if the value is "no" in S110). Based on the AT "T5" information CT printing function (S130), it is determined that it is a cached object (if the value is "yes" in S132).
[0100] Next, the intermediary server 100 hashes the image data using IDD in T630 to generate a hash value (S140), and determines whether the hash value, the file name "2020_Sep_information", and the printing settings "A3, color printing" correspond to the cache table 156 and stores them accordingly (see reference). Figure 8In case T550 (or "Yes" in S142), the intermediary server 100 does not perform conversion processing for the image data IDD, but sends the print data PDD in the cache table 156 to the printer 20 in T632 (S150). Therefore, the intermediary server 100 is able to quickly send the print data PDD to the printer 20. As a result, in T640, the printer 20 prints the image represented by the print data PDD, realizing the information CT printing function. The intermediary server 100 further determines that it is an information CT (or "Yes" in S152), extends the validity period "November 1, 2020" by 1 day in T650, and stores the validity period "November 2, 2020" in the cache table 156 (S154).
[0101] (Effects of this embodiment)
[0102] According to this embodiment, when the intermediary server 100 determines that printing should be performed according to the cloud printing function (in... Figure 3 If the setting in S132 is "No", print data is not cached. However, if the setting in S132 is "Yes", print data is cached. In this way, the intermediary server 100 can appropriately switch whether to cache print data based on the print function. Therefore, compared to a structure that caches all print data, the memory capacity used for caching print data can be reduced.
[0103] Furthermore, according to this embodiment, the intermediary server 100 determines that it has received an email containing image data (in... Figure 3 If the condition in S110 is "Yes", print data is not cached; if the condition in S110 is "No", print data is cached. In this way, the intermediary server 100 can appropriately switch whether to cache print data based on the communication method of the received image data. Therefore, compared to a structure that caches all print data, the memory capacity used for caching print data can be reduced.
[0104] (Correspondence)
[0105] Intermediate server 100, printers 10 and 20 are examples of "control device" and "printing execution unit," respectively. PCs 12 and 22, educational CT server 200, and information CT server 300 are examples of "control device." Educational CT printing function, information CT printing function, and cloud printing function are examples of "multiple printing functions." Educational CT printing function and information CT printing function are examples of "first type of printing function." Educational CT printing function and information CT printing function are examples of "first printing function" and "second printing function," respectively. Cloud printing function is an example of "second type of printing function." AT is an example of "determining information." Figure 3 The processing steps S120 and S122 are examples of "first control processing". The processing steps S130 to S170 are examples of "second control processing". The hash value is an example of "digest value". Figure 4 The period in S212, S222, or S224 is an example of a "first period". The period in S202 is an example of a "second period". The period in S222 or S224 is an example of a "third period". The period in S212 is an example of a "fourth period". The periods in S222 and S224 are examples of "fifth period" and "sixth period", respectively. Weekdays are an example of a "prescribed period". In another example, the usual period other than long holidays is an example of a "prescribed period". In this case, the period in S222 or S224 is an example of a "fifth period", and the period in S212 is an example of a "sixth period". Printing settings and filenames are examples of "associated data".
[0106] Figure 3 S100 is an example of a process executed by the "first image data receiving unit", the "second image data receiving unit", and the "determining information receiving unit". S110 is an example of a process executed by the "mode determination unit". S130 and S132 are examples of processes executed by the "function determination unit". S120 and S122 are examples of processes executed by the "first control processing execution unit". S120 is an example of a process executed by the "first print data generation unit" and the "third print data generation unit". S122 is an example of a process executed by the "first supply unit" and the "fourth supply unit". S140 to S170 are examples of processes executed by the "second control processing execution unit". S140, S142, S160, S162, S170, S150, and S154 are examples of processes executed by the "summary value generation unit", "buffer determination unit", "second print data generation unit", "second supply unit", "storage control unit", "third supply unit", and "extension unit", respectively.
[0107] (Second embodiment:) Figure 10 )
[0108] In this embodiment, as Figure 10As shown, memory 134 stores tables 152A to 156A that are different from tables 152 to 156 in the first embodiment. Memory 134 also stores model name table 158.
[0109] In this embodiment, AT table 152A stores the printer model name in addition to AT, printer ID, and printing function information. The model name of printer 10 is "AAA", and the model name of printer 20 is "BBB". In this embodiment, email table 154A stores the printer model name in addition to email address and printer ID. The user of printer 10, etc., pre-executes an operation to store the information including the model name in AT table 152A and email table 154A.
[0110] In this embodiment, cache table 156A stores not only printed data and hash values, but also format information representing the data format of the printed data. How this format information is stored will be explained later.
[0111] Model name table 158 stores the model name of the printer and the format information indicating the data format that the printer with that model name can interpret. In this embodiment, printer 10 with model name "AAA" can interpret JPEG (short for Joint Photographic Experts Group) printing instructions, and printer 20 with model name "BBB" can interpret PWG (short for Printer Working Group) raster.
[0112] exist Figure 3 In S120, CPU132 first determines the destination email address (e.g., M1) contained in the received email from email table 154A (see reference). Figure 10 The CPU132 determines the printer ID (e.g., P1) and model name (e.g., "AAA") corresponding to the identified email address. Then, the CPU132 retrieves the model name from model name table 158 (see reference). Figure 10 The CPU 132 determines the format information (e.g., format information representing "JPEG printer instruction") corresponding to the determined model name (e.g., "AAA"). Then, the CPU 132 performs conversion processing on the image data contained in the email to generate print data with the data format represented by the determined format information.
[0113] In S122, CPU132 sends the printing data generated in S120 to the printer identified by the printer ID determined in S120. Here, the printing data has a data format that the printer can interpret. Therefore, the intermediary server 100 can enable the printer to appropriately perform the printing of the image represented by the printing data.
[0114] In S160, CPU132 first retrieves data from AT table 152A (reference). Figure 10 The CPU 132 determines the model name (e.g., "AAA") corresponding to the AT (e.g., T1) contained in the received printing request. Then, the CPU 132 retrieves the model name from the model name table 158 (see reference 158). Figure 10 The CPU 132 determines the format information (e.g., format information representing "JPEG printer instruction") corresponding to the determined model name (e.g., "AAA"). The CPU 132 further determines the image data and printing settings included in the printing request. Then, according to the determined printing settings, the CPU 132 performs conversion processing on the determined image data to generate printing data in the format represented by the determined format information.
[0115] In S162, CPU 132 sends the printing data generated in S160 to the printer identified by the printer ID determined in S130. Here, the printing data has a data format that the printer can interpret. Therefore, the intermediary server 100 can enable the printer to appropriately perform the printing of the image represented by the printing data.
[0116] exist Figure 4 In S230, CPU132 stores the format information determined in S160 in cache table 156A (see reference) in accordance with the printed data, etc. Figure 10 Therefore, the intermediary server 100 can also cache format information representing the data format of the printed data.
[0117] exist Figure 5 In scenario A, the intermediary server 100 retrieves data from AT table 152A (see reference) in T120. Figure 10 Determine the model name "AAA" corresponding to AT "T3" included in the printing request, and refer to Model Name Table 158 (see...). Figure 10 ) Determine the format information "JPEG printer instructions" corresponding to the determined model name "AAA" (in Figure 3 (S120 if S132 is "No"). Then, the intermediary server 100 generates a print data PDA with the determined JPEG printer instructions (S120) and sends the print data PDA to the printer 10 in T122 (S122).
[0118] exist Figure 5 In scenario B, the intermediary server 100 retrieves data from email table 154A (see reference 154A) in T220. Figure 10 Determine the model name "AAA" corresponding to the destination address "M1" contained in the email, from Model Name Table 158 (refer to...). Figure 10 ) Determine the format information "JPEG printer instructions" corresponding to the determined model name "AAA" (in Figure 3 (S120 if "yes" is specified in S110). Then, the intermediary server 100 generates print data PDB with the determined JPEG printer instructions (S120) and sends the print data PDB to the printer 10 in T222 (S122).
[0119] exist Figure 6 In scenario C, the intermediary server 100 retrieves data from AT table 152A (see reference) in T330. Figure 10 Determine the model name "AAA" corresponding to AT "T1" included in the printing request, and refer to Model Name Table 158 (see...). Figure 10 Determine the format information "JPEG printer instruction" corresponding to the determined model name "AAA". Figure 3 (S160). Then, the intermediary server 100 generates print data PDC with the determined JPEG printer instructions (S160), and sends the print data PDC to the printer 10 in T332 (S162). The intermediary server 100 also stores the format information representing the JPEG printer instructions corresponding to the print data PDC in cache table 156A in T350 (S160). Figure 4 (S230 in the middle).
[0120] exist Figure 8 In scenario D, the intermediary server 100 retrieves data from AT table 152A (see reference) in T530. Figure 10 Determine the model name "AAA" corresponding to AT "T2" included in the printing request, and refer to Model Name Table 158 (see...). Figure 10 Determine the format information "JPEG printer instruction" corresponding to the determined model name "AAA". Figure 3 (S160). Then, the intermediary server 100 generates print data PDD with the determined JPEG printer instructions (S160), and sends the print data PDD to the printer 10 in T532 (S162). The intermediary server 100 also stores the format information representing the JPEG printer instructions corresponding to the print data PDD in cache table 156A in T550 (S160). Figure 4 (S230 in the middle).
[0121] According to this embodiment, the intermediary server 100 generates printing data in a data format that corresponds to the model name of the printer to be printed, thus enabling the printer to properly perform various printing functions such as cloud printing.
[0122] In this embodiment, Figure 5 , Figure 6 and Figure 8 In this scenario, printer 10 is an example of both "first printer" and "second printer," and the JPEG printer command is an example of both "first data format" and "second data format." Figure 7 and Figure 9 In this scenario, printer 20 is an example of a "second printer." Additionally, in... Figure 5 In scenario B, the destination address M1 contained in the email from T210 is an example of "first information." Figure 6 Situation C or Figure 8 In case D, the AT “T1” or “T2” included in the printing request of T320 or T520 is an example of “second information”.
[0123] Furthermore, JPEG printer commands and PWG raster graphics are examples of data formats that printer 10 and other printers can interpret. For example, printer 10 may also be able to interpret data formats different from JPEG printer commands (e.g., PDF, PWG raster graphics, printer 10's vendor-specific data formats, etc.). Additionally, printer 20 may also be able to interpret data formats different from PWG raster graphics (e.g., PDF, JPEG printer commands, printer 20's vendor-specific data formats, etc.).
[0124] The specific examples of the present invention have been described in detail above, but these are merely illustrative and do not limit the scope of protection of the invention. The technology described in the scope of protection of the invention includes technologies obtained by various modifications and alterations to the specific examples described above. The following are examples of modifications to the above embodiments.
[0125] (Variation 1) Alternatively, the intermediate server 100 may not be required. For example, the printer 10 may have a printer memory that stores tables 150-156, and receive data from the PC 12 without going through the intermediate server 100. Figure 5 Printing request for T110 or Figure 6 The printer 10 may receive a print request from T320. Alternatively, upon receiving a print request from T110, the printer 10 may not cache the print data in its memory, but upon receiving a print request from T320, it may cache the print data in its memory. Alternatively, the printer 10 may receive the print request from PC12 without going through the intermediary server 100. Figure 5 T210 email or Figure 6The T320 print request. Alternatively, the printer 10 may not cache print data in its printer memory when it receives an email, but may cache print data in its printer memory when it receives a print request. In this variation, the printer's control unit and print engine are examples of a "control device" and a "print execution unit," respectively. Furthermore, the processes performed by the printer's control unit are examples of processes performed by a "first image data receiving unit," a "determination information receiving unit," a "function determination unit," a "mode determination unit," a "first control processing execution unit," and a "second control processing execution unit."
[0126] (Variation 2) "Definition information" is not limited to AT; for example, it can also be other information indicating the type of printing function. This other information may be, for example, instructions indicating the type of printing function, information identifying the application that implements the printing function, etc.
[0127] (Variation 3) The "first printing function" is not limited to cloud printing; for example, it could also be an information CT printing function. That is, the information CT printing function and the educational CT printing function could be examples of the "first printing function" and the "second printing function," respectively. In this case, it can be expressed as the "first printing function" being a printing function based on a first service (e.g., information CT provides the service), and the "second printing function" being a printing function based on a second service different from the first service (e.g., educational CT provides the service). Furthermore, it can be expressed as the "first printing function" being a printing function for printing images provided by a first operator (e.g., an operator providing information CT), and the "second printing function" being a printing function for printing images provided by a second operator different from the first operator (e.g., an operator providing educational CT). Additionally, in another variation, the "second printing function" is not limited to educational CT printing and information CT printing; for example, it could be a printing function for other content, or it could be a cloud printing function.
[0128] (Variation 4) The "digest value" is not limited to the hash value; it can also be a value calculated using a method different from the hash function. In another variation, it can also be omitted. Figure 3 In step S140, the image data itself is stored in cache table 156 instead of the hash value. In this variant, the "summary value generation section" can be omitted.
[0129] (Variation 5) In Figure 4The period determined in S202 can be the same as the period determined in S212. That is, the "first period" and the "second period" can also be the same. In another variation, the period determined in S212 can be the same as the period determined in S222. That is, the "third period" and the "fourth period" can also be the same. In another variation, the period determined in S222 can be the same as the period determined in S224. That is, the "fifth period" and the "sixth period" can also be the same. In addition, in another variation, the pre-cached period may not be determined. In this case, the old printed data may be deleted when the capacity of memory 134 exceeds a threshold.
[0130] (Variation Example 6) can also be omitted. Figure 3 S154. In this variant, the "extension" can be omitted.
[0131] (Variation 7) The intermediary server 100 may also not support email printing functionality. In this case, it can be omitted. Figure 3 If S110 is "Yes", then proceed to S130. In this variation, the "second image data receiving unit", "third print data generating unit", and "fourth supply unit" can be omitted. In another variation, the intermediate server 100 may only support email printing and educational CT printing functions. In this case, these functions can be omitted. Figure 3 If S130 and S132 are "No" in S110, then proceed to S140.
[0132] (Variation 8) "First communication method" is not limited to the communication method used to perform HTTP communication, but may also be other communication methods (e.g., the communication method used to perform email communication). "Second communication method" is not limited to the communication method used to perform email communication, but may also be other communication methods (e.g., the communication method used to perform HTTP communication).
[0133] (Modification 9) "Associated data" is not limited to printing settings and filenames. For example, it can include data identifying the school using the educational CT scanner, or data identifying classes within the school. For example, a printing request requesting the execution of the educational CT printing function includes image data and a school ID or class ID. The intermediary server 100 stores the hash value of the image data and the ID corresponding to the printing data generated based on the image data in a cache table 156. In this case, when the intermediary server 100 subsequently receives a printing request containing the image data and the ID, it can determine that printing data has been cached because the hash value of the image data and the ID are stored in the cache table 156. Alternatively, in another modification, a structure can be adopted in which the AT is pre-stored in the access token table 152 corresponding to the school ID or class ID. In this case, the intermediary server 100 can store the ID corresponding to the AT included in the printing request in the cache table 156. Alternatively, in another modification, in Figure 3 In S142, the determination can be made without using printing settings and filenames. That is, the "cache determination unit" may not need to determine whether associated data has been used and cached.
[0134] (Modification 10) In the above embodiment, the CPU 132 of the intermediary server 100 executes program 140 (i.e., software) to achieve... Figures 3-9 Instead of traditional processing, any single process can be implemented using hardware such as logic circuits.
[0135] Furthermore, the technical elements described in this specification or drawings, whether individually or in various combinations, are technically useful and are not limited to the combinations described in the scope of protection of the invention at the time of application. Additionally, the technologies illustrated in this specification or drawings can achieve multiple objectives simultaneously, and achieving one of these objectives is itself technically useful.
Claims
1. A control device for causing a printing execution unit to perform printing, characterized in that, The control device includes: Memory; A first image data receiving unit receives first image data representing a first image of a printing object from an external device; A determination information receiving unit receives determination information from the external device. This determination information is used to determine which printing function among a plurality of printing functions supported by the control device should be used for printing. Each of the plurality of printing functions is pre-classified as either a first printing function that does not cause the memory to cache printing data or a second printing function that causes the memory to cache printing data. The function determination unit uses the received determination information to determine whether the printing of the first image should be performed according to the first printing function or the printing of the first image should be performed according to the second printing function. When the first control processing execution unit determines that the printing of the first image should be performed according to the first type of printing function, the first control processing execution unit performs first control processing. as well as When the second control processing execution unit determines that the printing of the first image should be performed according to the second type of printing function, the second control processing execution unit performs a second control process that is different from the first control process. The first control processing execution unit includes: A first printing data generation unit converts the received first image data to generate first printing data in a data format that the printing execution unit can interpret. as well as A first supply unit supplies the generated first printing data to the printing execution unit. The second control processing execution unit includes: The cache determination unit uses the received first image data to determine whether the second printing data is cached in the memory. The second printing data is printing data obtained by converting the received first image data and has a data form that the printing execution unit can interpret. The second printing data generation unit, when it determines that the second printing data is not cached in the memory, converts the received first image data to generate the second printing data. If the second supply unit determines that the second printing data is not cached in the memory, the second supply unit supplies the generated second printing data to the printing execution unit. The storage control unit, upon determining that the second printing data has not been cached in the memory, causes the memory to store the generated second printing data. as well as If the third supply unit determines that the second printing data is cached in the memory, the third supply unit will not convert the received first image data and will supply the second printing data in the memory to the printing execution unit.
2. The control device according to claim 1, characterized in that, The second control processing execution unit further includes a summary value generation unit, which generates a summary value by summarizing the received first image data. The cache determination unit determines whether the second printed data is cached in the memory by judging whether the generated digest value has been stored in the memory. If it is determined that the second printed data is not cached in the memory, the storage control unit stores the generated second printed data and the generated summary value in the memory accordingly.
3. The control device according to claim 1 or 2, characterized in that, The control device is a server that is separate from the printer, which is the printing execution unit.
4. The control device according to claim 3, characterized in that, For each of the two or more determination pieces of information, the memory stores corresponding determination information and function information representing one of the plurality of printing functions. The function determination unit performs the following processing: The functional information corresponding to the received determination information is determined from the memory; as well as By determining whether the printing function represented by the determined functional information is the first printing function or the second printing function, it is determined whether the first image should be printed according to the first printing function or the second printing function.
5. The control device according to claim 4, characterized in that, The determination information includes an access token.
6. The control device according to claim 4 or 5, characterized in that, The memory stores format information representing the data format that printer can interpret, for each of the plurality of printers. The first printing data generation unit performs the following processing: Using the received determination information, first form information is determined from the memory, which represents a first data form that a first printer capable of interpreting should print the first image; as well as The received first image data is converted to generate first printed data having the first data form represented by the determined first form information. The first supply unit sends the generated first printing data to the first printer. The second printing data generation unit performs the following processing: If it is determined that the second printing data is not cached in the memory, the received determination information is used to determine the second form information from the memory, which represents a second data form that the second printer that should print the first image can interpret; as well as The received first image data is converted to generate second printing data having a second data form represented by the determined second-form information. If it is determined that the second print data is not cached in the memory, the second supply unit sends the generated second print data to the second printer. If it is determined that the second printing data is cached in the memory, the third supply unit does not convert the received first image data but sends the second printing data in the memory to the second printer.
7. The control device according to claim 1 or 2, characterized in that, The second type of printing function is used to print specific images that require multiple printings.
8. The control device according to claim 7, characterized in that, The specific image contains educational content.
9. The control device according to claim 1 or 2, characterized in that, The second type of printing function includes the first printing function and a second printing function that is different from the first printing function. The storage control unit performs the following processing: If it is determined that the printing of the first image should be performed according to the first printing function and it is determined that the second printing data is not cached in the memory, the second printing data and the first period information indicating the first period during which the second printing data is cached in the memory are stored in the memory accordingly; as well as If it is determined that the printing of the first image should be performed according to the second printing function and it is determined that the second printing data is not cached in the memory, the second printing data and the second period information indicating the second period during which the second printing data is cached in the memory are stored in the memory accordingly. The second period is longer than the first period.
10. The control device according to claim 1 or 2, characterized in that, If it is determined that the printing of the first image should be performed according to the second printing function and it is determined that the second printing data is not cached in the memory, the storage control unit stores the second printing data and period information indicating the period during which the second printing data is cached in the memory in the memory. The second control processing execution unit further includes an extension unit that, when it is determined that the second printing data is cached in the memory, extends the period represented by the period information corresponding to the second printing data.
11. The control device according to claim 1 or 2, characterized in that, The storage control unit performs the following processing: If it is determined that the printing of the first image should be performed according to the second printing function and it is determined that the second printing data is not cached in the memory and the first image contains the first content, the second printing data and the third period information indicating the third period of caching the second printing data in the memory are stored in the memory accordingly. as well as If it is determined that the printing of the first image should be performed according to the second printing function, and it is determined that the second printing data is not cached in the memory and the first image contains second content different from the first content, then the second printing data and the fourth period information indicating that the second printing data is cached in the memory are stored in the memory accordingly. The fourth period is longer than the third period.
12. The control device according to claim 1 or 2, characterized in that, The storage control unit performs the following processing: If it is determined that the printing of the first image should be performed according to the second printing function, and it is determined that the second printing data is not cached in the memory and the date of the first image data is determined to be within a specified period, the second printing data and the fifth period information indicating the fifth period in which the second printing data is cached in the memory are stored in the memory accordingly. as well as If it is determined that the printing of the first image should be performed according to the second printing function, and it is determined that the second printing data is not cached in the memory and the date of the first image data is not within the specified period, the second printing data and the sixth period information indicating the sixth period for caching the second printing data in the memory are stored in the memory accordingly. The sixth period is longer than the fifth period.
13. The control device according to claim 1 or 2, characterized in that, The first image data receiving unit receives the first image data from the external device according to the 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 determination information to determine whether to perform printing of the first image according to the first printing function or to perform printing of the first image according to the second printing function. The control device further includes a second image data receiving unit, which receives second image data representing a second image of the printing object from the external device according to a second communication method different from the first communication method. The first control processing execution unit also executes the first control processing when receiving the second image data from the external device according to the second communication method. The first control processing execution unit also includes: The third printing data generation unit converts the received second image data to generate third printing data in a data format that the printing execution unit can interpret. as well as The fourth supply unit supplies the generated third printing data to the printing execution unit.
14. The control device according to claim 13, characterized in that, The first communication method is a communication method used to perform communication according to HTTP. The second communication method is a communication method used for communication via email.
15. The control device according to claim 1 or 2, characterized in that, The first image data receiving unit also receives the first image data and associated data related to the first image data from the external device. The cache determination unit uses the received first image data and the received associated data to determine whether the second printing data is cached in the memory.
16. The control device according to claim 15, characterized in that, The associated data includes printing settings that should be used for printing the first image and the filename of the first image data.
17. A control device for causing a printing actuator to perform printing, characterized in that, The control device includes: Memory; A first image data receiving unit receives first image data representing a first image of a printing object from an external device; The mode determination unit determines whether the first image data was received according to a first communication mode or according to a second communication mode different from the first communication mode. When the first control processing execution unit determines that the first image data has been received according to the second communication method, the first control processing execution unit performs first control processing. as well as When the second control processing execution unit determines that the first image data has been received according to the first communication method, the second control processing execution unit performs a second control process that is different from the first control processing. The first control processing execution unit includes: A first printing data generation unit converts the received first image data to generate first printing data in a data format that the printing execution unit can interpret. as well as A first supply unit supplies the generated first printing data to the printing execution unit. The second control processing execution unit includes: The cache determination unit uses the received first image data to determine whether the second printing data is cached in the memory. The second printing data is printing data obtained by converting the received first image data and has a data form that the printing execution unit can interpret. The second printing data generation unit, when it determines that the second printing data is not cached in the memory, converts the received first image data to generate the second printing data. If the second supply unit determines that the second printing data is not cached in the memory, the second supply unit supplies the generated second printing data to the printing execution unit. The storage control unit, upon determining that the second printing data has not been cached in the memory, causes the memory to store the generated second printing data. as well as If the third supply unit determines that the second printing data is cached in the memory, the third supply unit will not convert the received first image data and will supply the second printing data in the memory to the printing execution unit.
18. The control device according to claim 17, characterized in that, The control device is a server that is separate from the printer, which is the printing execution unit. The memory stores format information representing the data format that printer can interpret, for each of the plurality of printers. The first printing data generation unit performs the following processing: Using first information received along with the first image data, first format information is determined from the memory, which represents a first data format that a first printer that should print the first image can interpret; as well as The received first image data is converted to generate first printed data having the first data form represented by the determined first form information. The first supply unit sends the generated first printing data to the first printer. The second printing data generation unit performs the following processing: If it is determined that the second printing data is not cached in the memory, second form information is determined from the memory using second information received together with the first image data. This second form information represents a second data form that the second printer that should print the first image can interpret. as well as The received first image data is converted to generate second printing data having a second data form represented by the determined second-form information. If it is determined that the second print data is not cached in the memory, the second supply unit sends the generated second print data to the second printer. If it is determined that the second printing data is cached in the memory, the third supply unit does not convert the received first image data but sends the second printing data in the memory to the second printer.
19. The control device according to claim 17 or 18, characterized in that, The first communication method is a communication method used to perform communication according to HTTP. The second communication method is a communication method used for communication via email.
20. The control device according to claim 17 or 18, characterized in that, The first image data receiving unit also receives the first image data and associated data related to the first image data from the external device. The cache determination unit uses the received first image data and the received associated data to determine whether the second printing data is cached in the memory.
21. The control device according to claim 20, characterized in that, The associated data includes printing settings that should be used for printing the first image and the filename of the first image data.
22. A storage medium storing a computer program for controlling a printing execution unit to perform printing, characterized in that, The computer program enables the computer of the control device to function as the following components: A first image data receiving unit receives first image data representing a first image of a printing object from an external device; A determination information receiving unit receives determination information from the external device. This determination information is used to determine which printing function among a plurality of printing functions supported by the control device should be used for printing. Each of the plurality of printing functions is pre-classified as either a first printing function that does not cause the memory to cache printing data or a second printing function that causes the memory to cache printing data. The function determination unit uses the received determination information to determine whether the printing of the first image should be performed according to the first printing function or the printing of the first image should be performed according to the second printing function. When the first control processing execution unit determines that the printing of the first image should be performed according to the first type of printing function, the first control processing execution unit performs first control processing. as well as When the second control processing execution unit determines that the printing of the first image should be performed according to the second type of printing function, the second control processing execution unit performs a second control process that is different from the first control process. The first control processing execution unit includes: A first printing data generation unit converts the received first image data to generate first printing data in a data format that the printing execution unit can interpret. as well as A first supply unit supplies the generated first printing data to the printing execution unit. The second control processing execution unit includes: The cache determination unit uses the received first image data to determine whether the second printing data is cached in the memory. The second printing data is printing data obtained by converting the received first image data and has a data form that the printing execution unit can interpret. The second printing data generation unit, when it determines that the second printing data is not cached in the memory, converts the received first image data to generate the second printing data. If the second supply unit determines that the second printing data is not cached in the memory, the second supply unit supplies the generated second printing data to the printing execution unit. The storage control unit, upon determining that the second printing data has not been cached in the memory, causes the memory to store the generated second printing data. as well as If the third supply unit determines that the second printing data is cached in the memory, the third supply unit will not convert the received first image data and will supply the second printing data in the memory to the printing execution unit.
23. A storage medium storing a computer program for controlling a printing execution unit to perform printing, characterized in that, The computer program enables the computer of the control device to function as the following components: A first image data receiving unit receives first image data representing a first image of a printing object from an external device; The mode determination unit determines whether the first image data was received according to a first communication mode or according to a second communication mode different from the first communication mode. When the first control processing execution unit determines that the first image data has been received according to the second communication method, the first control processing execution unit performs first control processing. as well as When the second control processing execution unit determines that the first image data has been received according to the first communication method, the second control processing execution unit performs a second control process that is different from the first control processing. The first control processing execution unit includes: A first printing data generation unit converts the received first image data to generate first printing data in a data format that the printing execution unit can interpret. as well as A first supply unit supplies the generated first printing data to the printing execution unit. The second control processing execution unit includes: The cache determination unit uses the received first image data to determine whether the second printing data is cached in the memory. The second printing data is printing data obtained by converting the received first image data and has a data form that the printing execution unit can interpret. The second printing data generation unit, when it determines that the second printing data is not cached in the memory, converts the received first image data to generate the second printing data. If the second supply unit determines that the second printing data is not cached in the memory, the second supply unit supplies the generated second printing data to the printing execution unit. The storage control unit, upon determining that the second printing data has not been cached in the memory, causes the memory to store the generated second printing data. as well as If the third supply unit determines that the second printing data is cached in the memory, the third supply unit will not convert the received first image data and will supply the second printing data in the memory to the printing execution unit.
Citation Information
Patent Citations
Printing control device, printing control method, and computer program
JP2010128941A
Program for predicting processing time of variable print data and image forming apparatus
JP2013123878A
Information processing apparatus, information processing method and system
CN102932574A
Printing system
CN106354439A
