Support program

The support program maintains up-to-date cache information for printer control, addressing environmental changes and reducing communication load by updating printer capability and mode information, ensuring efficient printer operations.

WO2026115983A1PCT designated stage Publication Date: 2026-06-04BROTHER KOGYO KK

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
BROTHER KOGYO KK
Filing Date
2025-10-28
Publication Date
2026-06-04

AI Technical Summary

Technical Problem

Existing printer control technologies using general-purpose printing programs compliant with the operating system fail to adapt to changes in the printing environment, such as printer firmware updates or changes in communication modes, leading to outdated cache information and increased communication load.

Method used

A support program that executes on an information processing device to manage cache information associated with printer capability, firmware, and communication mode, updating this information when necessary to ensure compatibility with the current environment.

Benefits of technology

Ensures that printer control adapts to changes in the printing environment by maintaining up-to-date cache information, reducing communication load and enhancing the flexibility and functionality of printer operations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2025037735_04062026_PF_FP_ABST
    Figure JP2025037735_04062026_PF_FP_ABST
Patent Text Reader

Abstract

Provided is a technology that enables an information processing device in which an OS-standard general-purpose printing program is installed to accommodate changes in the printing environment. An auxiliary program 42 causes a CPU 11 of a PC 1 to: acquire capability information from a printer 2; generate cache information based on the acquired capability information; and store the cache information in a memory 12 in association with version information indicating the version of the auxiliary program 42. When an editing application 43 instructs a general-purpose printing program 41 to select the printer 2, and the cache information is stored in the memory 12, the auxiliary program 42 causes the CPU 11 to: read the version information associated with the cache information; and, if the version indicated by the version information that has been read is older than the current version of the auxiliary program 42, acquire the capability information from the printer 2, generate cache information, and update the cache information and the version information.
Need to check novelty before this filing date? Find Prior Art

Description

Support program

[0001] The technical field disclosed in this specification relates to a support program for supporting the control of a printer.

[0002] In recent years, a technology for controlling a printer by using a general-purpose printing program compliant with the operating system (OS) that constitutes a part of the OS without using a printer driver provided by a printer vendor has been put into practical use. In this technology, when the OS detects a printer, it associates the printer with the general-purpose printing program compliant with the OS. Thereafter, when a print instruction for the printer is received, the general-purpose printing program compliant with the OS generates print data without using the printer driver provided by the printer vendor, enabling printing by the general-purpose printing program compliant with the OS.

[0003] As a document that discloses a printing technology using a general-purpose printing program compliant with the OS, for example, there is Patent Document 1. Patent Document 1 discloses a technology for obtaining capability information from a printer by an auxiliary program for supporting printer control, caching capability-dependent information for passing it to the general-purpose printing program, and using the cached capability-dependent information after the next time.

[0004] Japanese Patent Application Laid-Open No. 2023-136090

[0005] By caching information based on the capability information obtained from the printer, the communication load can be reduced. However, the capabilities of a printer may be expanded due to changes in the printing environment. Therefore, the cached information does not necessarily correspond to the latest printing environment.

[0006] The support program, which was created to solve the above-mentioned problems, is executable by the computer of the information processing device, corresponds to a printer connected to the information processing device, and is a support program that supports a general-purpose printing program of the operating system of the information processing device, wherein the support program can cause the computer to execute a first acquisition process to acquire capability information from the printer, a first generation process to generate cache information corresponding to the printer based on the capability information acquired in the first acquisition process, and a cache process to store the cache information generated in the first generation process in the memory of the information processing device, associating it with version information indicating the version of the support program, and furthermore, an application program incorporated in the information processing device can give a selection instruction to the general-purpose printing program to select the printer, and the selected printer If the corresponding cache information is stored in the memory, a read process is executed to read the version information associated with the cache information from the memory. If the version indicated in the version information read in the read process is older than the current version of the support program, a second acquisition process is executed to acquire the capability information from the printer. A second generation process is executed to generate the cache information based on the capability information acquired in the second acquisition process. An update process is executed to update the cache information and the version information stored in the memory using the cache information generated in the second generation process and the current version information of the support program. The support program is configured to allow the computer to accept print settings for the printer to execute printing based on the cache information stored in the memory.

[0007] The support program disclosed herein stores cache information based on capability information obtained from the printer, associated with the version information of the support program. When a printer is selected, if the version of the support program that stored the cache information is older than the current version, the support program obtains capability information from the printer again and updates the cache information. This makes it highly likely that the support program can be updated as part of the printing environment.

[0008] The support program, which was created to solve the above-mentioned problems, is executable by the computer of the information processing device, corresponds to a printer connected to the information processing device, and is a support program that supports a general-purpose printing program of the operating system of the information processing device, wherein the support program can cause the computer to execute a first acquisition process that acquires capability information and firmware information indicating the firmware version of the printer from the printer, a first generation process that generates cache information corresponding to the printer based on the capability information acquired in the first acquisition process, and a cache process that stores the cache information generated in the first generation process in the memory of the information processing device in association with the firmware information acquired in the first acquisition process, and further, an application program incorporated in the information processing device gives a selection instruction to the general-purpose printing program to select the printer, and the cache information corresponding to the selected printer If the firmware information is stored in the memory, the support program may be configured to perform a read process to read the firmware information associated with the cache information from the memory, and a firmware information acquisition process to acquire the firmware information from the printer, and if the version indicated in the firmware information read in the read process is older than the version indicated in the firmware information acquired in the firmware information acquisition process, the support program may be configured to perform a second acquisition process to acquire the capability information from the printer, a second generation process to generate the cache information based on the capability information acquired in the second acquisition process, and an update process to update the cache information and firmware information stored in the memory using the cache information generated in the second generation process and the firmware information acquired in the firmware information acquisition process, thereby enabling the support program to cause the computer to accept print settings to cause the printer to execute printing based on the cache information stored in the memory.

[0009] The support program, which was created to solve the above-mentioned problems, is executable by the computer of the information processing device, corresponds to a printer connected to the information processing device, and supports the general-purpose printing program of the operating system of the information processing device. The support program can cause the computer to execute: a first acquisition process that acquires capability information from the printer and OS information indicating the version of the operating system from the operating system; a first generation process that generates cache information corresponding to the printer based on the capability information acquired in the first acquisition process; and a cache process that stores the cache information generated in the first generation process in the memory of the information processing device, associating it with the OS information acquired in the first acquisition process. Furthermore, an application program incorporated in the information processing device can give a selection instruction to the general-purpose printing program to select the printer, and the selected printer... If the corresponding cache information is stored in the memory, the support program may be configured to perform a read process to read the OS information associated with the cache information from the memory, and an OS information acquisition process to obtain the OS information from the operating system, and if the version indicated in the OS information read in the read process is older than the version indicated in the OS information acquired in the OS information acquisition process, then perform a second acquisition process to acquire the capability information from the printer, a second generation process to generate the cache information based on the capability information acquired in the second acquisition process, and an update process to update the cache information and the OS information stored in the memory using the cache information generated in the second generation process and the OS information acquired in the OS information acquisition process, thereby enabling the support program to cause the computer to accept print settings to execute printing on the printer based on the cache information stored in the memory.

[0010] The support program, which was created to solve the above-mentioned problems, is executable by the computer of the information processing device, corresponds to a printer connected to the information processing device, and is a support program that supports a general-purpose printing program of the operating system of the information processing device, and the support program can cause the computer to execute: a first acquisition process that acquires capability information from the printer and communication mode information indicating the communication mode with the printer from the general-purpose printing program; a first generation process that generates cache information corresponding to the printer based on the capability information acquired in the first acquisition process; and a cache process that stores the cache information generated in the first generation process in the memory of the information processing device, associating it with the communication mode information acquired in the first acquisition process, and furthermore, an application program incorporated in the information processing device gives a selection instruction to the general-purpose printing program to select the printer, and the support program can cause the computer to execute: a first acquisition process that acquires capability information from the printer and communication mode information indicating the communication mode with the printer from the general-purpose printing program If cache information is stored in the memory, the support program may be configured to perform a read process to read the communication mode information associated with the cache information from the memory, and a communication mode acquisition process to acquire the communication mode information from the general-purpose printing program, and if the communication mode indicated in the communication mode information read in the read process is different from the communication mode indicated in the communication mode information acquired in the communication mode acquisition process, then perform a second acquisition process to acquire the capability information from the printer, a second generation process to generate the cache information based on the capability information acquired in the second acquisition process, and an update process to update the cache information and the communication mode information stored in the memory using the cache information generated in the second generation process and the communication mode information acquired in the communication mode acquisition process, thereby enabling the support program to cause the computer to accept print settings for the printer to execute printing based on the cache information stored in the memory.

[0011] The support program disclosed herein stores cache information based on capability information obtained from the printer, associating it with firmware information, OS information, or communication mode information. When a printer is selected, if the information stored in the cache differs from the current information, the support program obtains capability information from the printer again and updates the cache information. This makes it highly likely that the printing environment can accommodate printer firmware updates, operating system updates, or changes in printing modes.

[0012] A new and useful information processing device incorporating the above-mentioned support program, a storage medium readable by a computer that stores the support program, a control method for realizing the functions of the support program, and a printing system including the support program and a printer are also novel and useful.

[0013] The technology disclosed herein enables an information processing device incorporating an OS standard general-purpose printing program to realize a technology that can adapt to changes in the printing environment.

[0014] This is a block diagram showing an overview of the electrical configuration of a PC. This is a sequence diagram showing an example of the printer selection procedure. This is a sequence diagram showing an example of the cache generation procedure. This is a sequence diagram showing an example of the print execution procedure. This is an explanatory diagram showing an example of the detailed settings screen.

[0015] The personal computer (hereinafter referred to as "PC") that utilizes the support program of the embodiment will be described in detail below with reference to the attached drawings. This specification discloses a support program that runs on a PC.

[0016] As shown in Figure 1, the PC1 in this configuration includes a CPU 11 and a controller 10 which includes memory 12. The PC1 is an example of an information processing device. The CPU 11 is an example of a computer. The PC1 also includes a user interface (hereinafter referred to as "user IF") 13 and a communication interface (hereinafter referred to as "communication IF") 14, which are electrically connected to the controller 10. Note that the controller 10 in Figure 1 is a general term for the hardware and software used to control the PC1, and does not necessarily represent a single piece of hardware actually present in the PC1.

[0017] The CPU 11 of PC1 executes various processes according to programs read from memory 12 and based on user operations. Memory 12 stores various programs and various data. Memory 12 is also used as a workspace when executing various programs, for example. The buffer provided by the CPU 11 is also an example of memory 12. PC1 is not limited to built-in ROM, RAM, HDD, etc., but may also utilize storage media that the CPU 11 can read and write to, such as recording media such as CD-ROM and DVD-ROM.

[0018] The user interface 13 includes a display 13a, which is hardware that displays a screen for informing the user of information, and hardware that accepts user operations. The user interface 13 may also include a combination of a display 13a capable of displaying information and a mouse or keyboard with an input acceptance function, or it may include a touch panel that has the functions of a display 13a and an input acceptance function.

[0019] The communication interface 14 includes hardware for communicating with external devices such as the printer 2. The communication standards for the communication interface 14 include Ethernet®, Wi-Fi®, and USB. The PC 1 may be able to connect to the internet via the communication interface 14. Furthermore, the PC 1 may have multiple communication modes that support multiple communication standards. If multiple communication modes are available, the PC 1 will use one of them to communicate with the printer 2, depending on the user's selection and hardware configuration.

[0020] As shown in Figure 1, the memory 12 stores various programs and data, including an operating system (hereinafter referred to as "OS") 21 containing a general-purpose printing program 41, an auxiliary program 42, and an editing application 43. The auxiliary program 42 is an example of a support program. The editing application 43 is an example of an application program.

[0021] OS21 is a multitasking OS that can process multiple tasks in parallel by managing and switching between them. Examples of OS21 include Windows®, macOS®, Linux®, iOS®, and Android®.

[0022] OS21 includes a general-purpose printing program 41. The general-purpose printing program 41 is a standard OS program provided by the OS21 vendor as part of OS21. In other words, PC1 is equipped with OS21 which includes the general-purpose printing program 41. The general-purpose printing program 41 is not configured to utilize printer drivers specific to each printer.

[0023] The general-purpose printing program 41 is a program that has the function of performing printing on multiple types of printers, each provided by multiple vendors, based on user instructions. The general-purpose printing program 41 supports general-purpose functions that enable printing on many printers. Unlike printer drivers specific to each printer, the general-purpose printing program 41 does not support functions unique to each printer or printer driver, especially functions that require complex processing.

[0024] The general-purpose printing program 41 is a program that, based on user instructions, receives image data designated as the print target in print instructions output from various application programs and includes a function to generate intermediate data based on that image data. The intermediate data is, for example, XPS data. The general-purpose printing program 41 further has a function to generate print data in a format that can be used for printing on various printers, based on the intermediate data. The print data is, for example, PWGraster data or PDF data. The general-purpose printing program 41 also has a function to send the generated print data to the printer designated as the device to execute the print job, via the communication function of the OS 21.

[0025] The auxiliary program 42 is a program or group of programs that executes processing based on instructions from the OS 21 in conjunction with the processing of the general-purpose printing program 41, and is an application program that supports the control of the target hardware. In this embodiment, the auxiliary program 42 corresponds to the model of the printer 2 connected to the PC 1, and is provided, for example, by the vendor of the printer 2. The general-purpose printing program 41 starts the auxiliary program 42 corresponding to the printer 2 when the printer 2 is selected as the device to perform printing, when the printer 2 is selected and instructions for detailed print settings are received, when the instructions to perform printing on the printer 2 are received, etc. The auxiliary program 42 is called, for example, a print support application (abbreviated as PSA) or a hardware support application (abbreviated as HSA).

[0026] The auxiliary program 42 may be a combination of multiple programs, each accepting execution commands, or it may be a single program capable of executing different processes depending on the command. Furthermore, the number of printers that an auxiliary program corresponds to may be two or more. For example, the auxiliary program may be a program provided by the printer vendor for each type of printer. For instance, separate auxiliary programs may be provided for inkjet printers and laser printers. In addition to being limited to each printer type, auxiliary programs may also be provided for each printer model or series of printer models.

[0027] For example, when a new printer is connected to PC1, the OS21 of PC1 can download appropriate auxiliary programs from the printer vendor's server or storage specified by the OS21, depending on the type and model of the connected printer, and install them into PC1. The OS21 associates the identification information of the installed auxiliary programs with the printer information of the newly connected printer and stores it in memory 12.

[0028] The editing application 43 is, for example, an application program for creating and editing image data or document data. The editing application 43 may be, for example, Microsoft Word or PowerPoint, or a program provided by the printer 2 vendor. The editing application 43 can receive a print execution command via the user interface 13, for example, to print to the printer 2. The editing application 43 is not limited to a program for creating and editing data, but may also be a program that has the function of receiving instructions to display or print various types of information such as map information or web pages, according to the user's request.

[0029] In this configuration, PC1 is connected to printer2 via communication IF14, as shown in Figure 1. Printer2 is a device having at least printing and communication functions. Printer2 may be a multifunction printer, copier, fax machine, etc. When printer2 receives print data from PC1, etc., it can perform printing based on the received print data. Printer2 may be a device capable of color printing, or it may be a device capable of monochrome printing only.

[0030] Next, the procedure for printing on printer 2 in PC 1 of this configuration will be described. Note that, in this configuration, processes other than user operations basically refer to the processing of the CPU 11 according to instructions written in programs such as auxiliary program 42. In this specification, for convenience, various processes performed by the controller 10 or CPU 11 according to programs such as auxiliary program 42, general-purpose printing program 41, and OS 21 may be described as if each program independently performs its own processes. The processing by CPU 11 also includes hardware control using the OS 21 API. In this specification, a detailed description of OS 21 is omitted, and the operation of each program is explained. Also, "acquisition" is used as a concept that does not necessarily require a request.

[0031] First, the selection and setting procedure for PC1, which accepts the selection of the printer to be used for printing and the specification of print settings, will be explained with reference to the sequence diagram in Figure 2.

[0032] The editing application 43 can create and edit text and images based on user instructions. If the user wants to print the currently displayed text or image, the user selects "Print" in the editing application 43 (A01). Furthermore, the user selects "Printer 2" as the device to be used for printing (A02). A02 is an example of a selection instruction for selecting Printer 2. Note that if Printer 2 is set as the default printer or the printer used for the last print job, the user does not need to explicitly perform the operation in A02.

[0033] Upon receiving the operations A01 and A02, the editing application 43 passes information indicating that printer 2 has been selected to the general-purpose printing program 41 (A03). The general-purpose printing program 41, in response to a request from the editing application 43, starts the auxiliary program 42 corresponding to printer 2 and passes information indicating that printer 2 has been selected (A04). The editing application 43 or the general-purpose printing program 41 may also display a print screen capable of accepting printing instructions on the user interface 13.

[0034] Furthermore, when the general-purpose printing program 41 displays a print screen that can accept printing instructions, it may display a screen that includes a display generated by the auxiliary program 42. In that case, the general-purpose printing program 41 may request display data indicating the screen to be displayed from the auxiliary program 42, and display the print screen based on the display data received from the auxiliary program 42.

[0035] The auxiliary program 42 determines whether cache information, including information indicating the capabilities of printer 2, is stored in memory 12 (A11). The cache information is stored, for example, as a file in the non-volatile storage area of ​​memory 12. As will be described later, the auxiliary program 42 can store various types of information in association with the cache information. Hereafter, the various types of information stored in association with the cache information will be referred to as "related information".

[0036] If it is determined that cache information is not stored in memory 12, or that related information associated with the cache information is not stored (alt: [No cache or no related information]), the auxiliary program 42 executes the cache generation procedure (A21). The cache generation procedure will be explained with reference to the sequence diagram in Figure 3.

[0037] In the cache generation procedure, the auxiliary program 42 requests the general-purpose printing program 41 to obtain capability information, which is information indicating the capabilities of printer 2 (B01). The general-purpose printing program 41 sends a command to printer 2 requesting capability information and obtains the capability information from printer 2 (B02). The general-purpose printing program 41 passes the capability information obtained from printer 2 to the auxiliary program 42 (B03). This allows the auxiliary program 42 to obtain the capability information of printer 2. B01 to B03, when it is determined that there is no cache information, is an example of the first acquisition process, where the auxiliary program 42 obtains the capability information of printer 2. B01 to B03, when it is determined that there is cache information and no related information, is an example of the second acquisition process.

[0038] The capability information obtained from printer 2 includes information on the settings that can be set as print settings and the parameters that can be set for each setting. For example, the capability information may include information on the paper feed trays and output trays available to printer 2, such as information on the selectable paper feed trays and output trays, and information on the paper size and paper type set for each paper feed tray. Furthermore, the capability information may also include information on the print resolutions that printer 2 can handle, information on the image processing functions that printer 2 can perform, information indicating the status of printer 2 such as the remaining amount of consumables, information indicating the default print settings, and information indicating whether or not stacked printing is possible. In addition, if printer 2 has various image processing functions, detailed capability information for each function may be included.

[0039] Furthermore, when the auxiliary program 42 obtains information about the printer 2, it may request the general-purpose printing program 41 to obtain the information, as shown in B01 to B03, or it may request and obtain the information directly from the printer 2. The general-purpose printing program 41 can obtain information from the printer 2 via the OS 21, for example, through communication corresponding to IPP (Internet Printing Protocol). For example, the general-purpose printing program 41 can send a command to the printer 2 requesting capability information and pass the information obtained from the printer 2 to the auxiliary program 42. Alternatively, instead of requesting from the general-purpose printing program 41, the auxiliary program 42 can obtain various types of information directly from the printer 2, for example, using MIB (Management Information Base).

[0040] The auxiliary program 42 generates cache information corresponding to the printer 2 based on the acquired capability information (B11). B11 when it is determined that there is no cache information is an example of the first generation process. B11 when it is determined that there is cache information but no related information is an example of the second generation process. The auxiliary program 42 may generate cache information that includes, for example, information indicating the capabilities of the printer 2 and information regarding the default print settings when printing is performed on the printer 2. The cache information may be the capability information itself acquired from the printer 2, a part of the capability information, or information that adds information from the auxiliary program 42 to the capability information. The cache information may also be general capability information that responds to the general-purpose printing program 41 in a procedure described later.

[0041] The auxiliary program 42 then stores the generated cache information in memory 12, associating it with auxiliary version information, which is information indicating its own version (B12). B12 when it is determined that there is no cache information is an example of cache processing. Auxiliary version information is an example of version information. In this case, the generated cache information is newly stored in memory 12, associating it with the auxiliary version information at the time the cache information was generated.

[0042] On the other hand, when it is determined that there is cache information but no related information, the auxiliary program 42 updates the existing cache information. That is, the cache information generated this time overwrites the cache information stored in the memory 12, and the cache information is stored in association with the auxiliary version information. B12 in this case is an example of a partial update process. In this case, the auxiliary program 42 may overwrite only the information that may be changed among the already stored cache information. For example, the auxiliary program 42 may not update the information indicating the model of the printer 2.

[0043] That is, even if there is cache information but no related information is stored, the auxiliary program 42 acquires the capability information again from the printer 2 and stores it together with the information indicating the latest version of the auxiliary program 42 at the time when this cache information was generated. Therefore, in subsequent processing, it is possible to avoid the version being unknown.

[0044] Further, the auxiliary program 42 may store information other than the auxiliary version information in further association with the cache information. Examples of information other than the auxiliary version information include firmware version information indicating the version of the firmware of the printer 2, OS version information indicating the version of the OS 21, and communication mode information indicating the communication mode used for communication with the printer 2. The firmware version information is an example of firmware information. The OS version information is an example of OS information. The communication mode information includes, for example, information on whether it is wired communication or wireless communication, and if it is wired, information on whether it is network communication or USB communication.

[0045] For example, when storing firmware version information in association with cache information, the auxiliary program 42 obtains the firmware version from the printer 2 (B21). If possible, the auxiliary program 42 may also obtain the firmware version along with the capability information in the procedure for obtaining capability information in B01 to B03. The auxiliary program 42 may obtain information indicating the firmware version of the printer 2 directly from the printer 2, or it may obtain it by requesting it from the general-purpose printing program 41.

[0046] Furthermore, for example, when OS version information is stored in association with cache information, the auxiliary program 42 obtains information indicating the OS version of 21 by requesting it from the general-purpose printing program 41 (B22). Also, for example, when communication mode information is stored in association with cache information, the auxiliary program 42 obtains information indicating the communication mode used for communication with the printer 2 by requesting it from the general-purpose printing program 41 (B22). Note that the information indicating the communication mode is stored in association with the print queue of the printer 2, for example. The auxiliary program 42 can obtain the information indicating the communication mode via the general-purpose printing program 41.

[0047] Then, the auxiliary program 42 stores the information acquired in B21 and B22 as related information, associating it with the cache information stored in B12 (B25). In other words, the related information only needs to include at least one of the following: auxiliary version information, firmware version information, OS version information, and communication mode information. Note that the auxiliary program 42 may store the cache information together with the related information instead of separately. In other words, the auxiliary program 42 may store the cache information and related information in B25 instead of B12.

[0048] Return to the description of the selection setting procedure in FIG. 2. When it is determined that cache information is stored in the memory 12 and there is related information (alt: [there is cache and there is related information]), the auxiliary program 42 first reads out all the related information stored in association with the cache information (A31). A31 is an example of a read process. Specifically, the auxiliary program 42 reads out all the information stored in association with the cache information, such as auxiliary version information, firmware version information, OS version information, communication mode, etc.

[0049] Furthermore, for each related information read out in A31, the auxiliary program 42 acquires the current information (A32). If the related information is only the auxiliary version information, the auxiliary program 42 acquires the version of the current auxiliary program 42. If the related information includes firmware version information, the auxiliary program 42 acquires the information indicating the firmware version from the printer 2 in the same manner as B21 in the cache generation procedure (FIG. 3) described above. B21 in this case is an example of a firmware information acquisition process.

[0050] Also, if the related information includes OS version information, the auxiliary program 42 acquires the information indicating the OS version from the general-purpose printing program 41 in the same manner as B22 in the cache generation procedure (FIG. 3) described above. B22 in this case is an example of an OS information acquisition process. Also, if the related information includes communication mode information, the auxiliary program 42 acquires the information indicating the communication mode from the general-purpose printing program 41 in the same manner as B22 in the cache generation procedure (FIG. 3) described above. B22 in this case is an example of a communication mode acquisition process.

[0051] Then, the auxiliary program 42 compares the related information read in A31 with the current information obtained in A32 to determine whether all the related information matches the current information (A33). If the related information includes multiple pieces of information, the auxiliary program 42 compares each piece of information with the current information. Specifically, if the related information includes information indicating various versions, the auxiliary program 42 determines whether the related information indicates the latest version. Also, if the related information includes communication mode information, the auxiliary program 42 determines whether that communication mode matches the current communication mode.

[0052] If the auxiliary program 42 determines that at least one of the related information does not match the current information (alt: [mismatch]), it executes the cache update procedure (A35). The auxiliary program 42 executes the cache update procedure if the auxiliary version information included in the related information is older than the current version of the auxiliary program 42, the firmware version information included in the related information is older than the current firmware version of printer 2, the OS version information included in the related information is older than the current version of OS 21, or the communication mode information included in the related information is different from the current communication mode.

[0053] The cache update procedure is the same as steps B01 to B12 of the cache generation procedure shown in Figure 3. That is, in the cache update procedure A35, the auxiliary program 42 reacquires the capability information of printer 2 (B01 to B03) and generates cache information (B11). In this case, B01 to B03 is an example of the second acquisition process, and B11 is an example of the second generation process. Furthermore, the auxiliary program 42 updates and stores the generated cache information (B12). As a result, the cache information is updated to the latest information.

[0054] Let's return to the explanation of the selection and setting procedure in Figure 2. After the cache update procedure in A35, the auxiliary program 42 updates the related information (A36). In other words, the auxiliary program 42 stores the current related information obtained in A32 in memory 12, associating it with the cache information stored in B12 of the cache update procedure. B12 of the cache update procedure and A36 of the selection and setting procedure are examples of update processes.

[0055] Upgrading the auxiliary program 42 or the printer 2 firmware may change the print settings and parameters that the auxiliary program 42 can accept. These upgrades may enable special printing such as booklet printing, increase the variety of binding methods, enable new image processing by the auxiliary program 42, and increase the types of commands that the printer 2 can support. Additionally, upgrading the OS 21 may change the print settings and parameters that the general-purpose printing program 41 can accept. Upgrading the OS 21 may enable support for mixed paper (a situation where multiple paper sizes are mixed in one document) and fix bugs.

[0056] Furthermore, in the cache update procedure of A35, the auxiliary program 42 may store a different type of information associated with the cache information than the associated information stored in the cache generation procedure of A21. For example, even if the auxiliary program 42 stores only auxiliary version information as associated information in the cache generation procedure, in the cache update procedure, it may store firmware version information in addition to the auxiliary version information, or it may change the associated information to firmware version information and store it.

[0057] If the auxiliary program 42 determines that all relevant information matches the current information (alt: [All Match]), it reads the cache information from memory 12 (A37). A37 is an example of the cache reading process. If all relevant information is up-to-date, it is highly likely that the capabilities and printing environment of printer 2 have not changed since the time the cache information was generated. Since the auxiliary program 42 does not perform the process of obtaining capability information from printer 2 when all relevant information is up-to-date, it can avoid increasing the communication load.

[0058] After A36 or A37, or after the cache generation procedure of A21, the auxiliary program 42 passes general-purpose capability information indicating the capabilities of printer 2 to the general-purpose printing program 41 based on the cache information (A41). General-purpose capability information is information indicating the capabilities of printer 2 included in the cache information. General-purpose capability information may include all of the capabilities information of printer 2, or it may include only some of the information. General-purpose capability information is an example of capability-dependent information.

[0059] A41, executed after the cache generation procedure in A21, which is performed because no cache information is stored in memory 12, is an example of a first response process. Also, A41, executed after updating the cache information and related information in A35 and A36 because the related information stored in association with the cache information is not up-to-date, is an example of a second response process. Furthermore, A41, executed after reading the cache information in A37, when the related information is up-to-date, is an example of a third response process.

[0060] The general-purpose printing program 41 shares general-purpose capability information received from the auxiliary program 42 by passing it to the editing application 43 (A42). The general-purpose printing program 41 and the editing application 43 can, for example, use the general-purpose capability information received from the auxiliary program 42 when accepting print settings from the user.

[0061] Next, regarding printing on printer 2, the print execution procedure, which involves receiving print setting instructions and then receiving instructions to execute printing, will be explained with reference to the sequence diagram in Figure 4. The print execution procedure is performed after the printer selection procedure shown in Figure 2 is executed.

[0062] The editing application 43 or the general-purpose printing program 41, having received general-purpose capability information from the auxiliary program 42 (A41, A42 in Figure 2), becomes capable of receiving instructions from the user to perform detailed print settings. When the editing application 43 receives instructions for detailed print settings (C01), it passes these instructions to the general-purpose printing program 41 (C02). When the general-purpose printing program 41 receives instructions for detailed print settings related to printing on printer 2, it passes these instructions to the auxiliary program 42 (C03).

[0063] The auxiliary program 42 displays an advanced settings screen on the user interface 13's display 13a, which accepts detailed print settings (C05). The auxiliary program 42 displays an advanced settings screen 60 that accepts various detailed print settings, for example, as shown in Figure 5. Based on the cache information generated in the cache generation procedure and the cache update procedure, the auxiliary program 42 can accept print settings to execute printing on the printer 2.

[0064] Furthermore, the detailed settings screen 60 may include selectable settings and parameters that cannot be accepted by the general-purpose printing program 41. The editing application 43 or the general-purpose printing program 41 can determine the print settings that can be accepted by the printer 2 based on the general-purpose capability information received from the auxiliary program 42 in A41 or A42 of Figure 2.

[0065] The user configures the print settings on the displayed detailed settings screen 60 (C11) and completes the print settings by pressing the OK button (C12). When the auxiliary program 42 receives an instruction to determine the print settings through the operation on the detailed settings screen 60, it stores the information of the determined print settings in the memory 12 (C15). Furthermore, the auxiliary program 42 responds to the detailed settings instruction received in C03 by passing the information of the determined print settings to the general-purpose printing program 41 (C16). The general-purpose printing program 41 responds to the detailed settings instruction received in C02 by passing the information of the determined print settings to the editing application 43 (C17). As a result, the editing application 43 becomes able to accept instructions related to printing.

[0066] Furthermore, when the editing application 43 receives instructions regarding printing, such as specifying the image to be printed and instructing printer 2 to execute printing (C21), it passes the print instruction information and image data indicating the image to be printed to the general-purpose printing program 41 (C22). The general-purpose printing program 41 generates intermediate data based on the information received from the editing application 43 (C23).

[0067] The general-purpose printing program 41 generates intermediate data by converting the image data format of the image to be printed into an intermediate data format. The image data included in the editing application 43 is of various types, and the general-purpose printing program 41 converts the image data to be printed into intermediate data suitable for generating print data. If the image data to be printed is already suitable for generating print data, the generation of intermediate data can be omitted, and the data can be used directly as intermediate data.

[0068] Furthermore, the general-purpose printing program 41 may, before generating intermediate data, start an auxiliary program 42 corresponding to the specified device, printer 2, to notify it that it has started processing the print job. When the auxiliary program 42 is started by the general-purpose printing program 41, it can pass information indicating various instructions used when generating intermediate data to the general-purpose printing program 41 as needed.

[0069] The general-purpose printing program 41 generates intermediate data and then outputs an execution instruction (C25) to the auxiliary program 42. The auxiliary program 42 can obtain the intermediate data and print setting information generated by the general-purpose printing program 41 by making a request to the general-purpose printing program 41, for example.

[0070] The auxiliary program 42 can edit the intermediate data obtained from the general-purpose printing program 41 as needed (C26). The auxiliary program 42 may edit the intermediate data based, for example, on the print settings information stored in C15 or on the capabilities of the printer 2 included in the cache information. In addition, if the received print settings include processing that can be executed by the printer 2, the auxiliary program 42 may generate a command to cause the printer 2 to execute that processing.

[0071] The auxiliary program 42 passes the edited intermediate data to the general-purpose printing program 41 and instructs the general-purpose printing program 41 to generate print data and send it to the printer 2 (C31). As a result, the general-purpose printing program 41 performs necessary processing such as rasterizing the intermediate data to generate print data (C32) and sends the print job containing the generated print data to the printer 2 (C33). The printer 2 executes printing based on the received print job (C34).

[0072] Alternatively, the auxiliary program 42 may perform rasterization and generate print data instead of the general-purpose printing program 41. In this case, the auxiliary program 42 may perform rasterization based on the intermediate data to generate print data, and then pass the generated print data and print settings to the general-purpose printing program 41 to instruct it to send them to the printer 2. The auxiliary program 42 may also receive the print data generated by the general-purpose printing program 41 and process it as needed. The print data sent to the printer 2 only needs to be in a format that can be printed by the printer 2.

[0073] Rasterizing with auxiliary program 42 offers greater flexibility compared to rasterizing with general-purpose printing program 41, and is more likely to generate print data suitable for printing on printer 2. On the other hand, rasterizing with general-purpose printing program 41 reduces the processing load on auxiliary program 42, allowing for a smaller program size for auxiliary program 42.

[0074] Alternatively, instead of having the general-purpose printing program 41 send the print data to the printer 2, the auxiliary program 42 may send a print command instructing the printer to execute the print job, along with the print data, to the printer 2. For example, if the print settings include settings related to image processing that can be executed on the printer 2, the auxiliary program 42 may generate a print command that also includes information about that processing.

[0075] As explained in detail above, the auxiliary program 42 stores cache information based on capability information obtained from the printer 2, associating it with at least one of the following: version information indicating the version of the auxiliary program 42, firmware version information of the printer 2, OS 21 version information, and information indicating the communication mode. When the printer 2 is selected, if the associated information at the time the cache information was stored differs from the current information, the auxiliary program 42 obtains capability information from the printer 2 again and updates the cache information. This makes it highly likely that the program can respond to changes in the printing environment of the printer 2.

[0076] The embodiments disclosed herein are merely illustrative and do not limit the present invention in any way. Therefore, the technology disclosed herein can naturally be improved and modified in various ways without departing from its essence.

[0077] Furthermore, the example of the detailed settings screen 60 shown in Figure 5 is just one example and is not limited to the illustrated example. For example, the text, object shapes, background, etc., displayed in the illustrated screen can be anything.

[0078] Furthermore, although the auxiliary program 42 is said to obtain OS information and communication mode information by making a request to the general-purpose printing program 41 (B22 in Figure 3), it is not limited to this, and any method of obtaining this information is acceptable. The auxiliary program 42 may make requests to a different recipient than the general-purpose printing program 41, or it may obtain the information on its own.

[0079] Furthermore, if, after the print settings screen is displayed by the general-purpose print program 41, the user changes the default printer from another printer to printer 2 via the OS 21, the general-purpose print program 41 may also start the auxiliary program 42. In addition, the auxiliary program 42 may be started not only when printing is selected, but also, for example, when printer 2 is selected as a device setting. In these cases as well, the auxiliary program 42 may be capable of generating and updating cache information.

[0080] Furthermore, although the operation of the auxiliary program 42 is described in detail only in terms of printing operations, the auxiliary program 42 may have other roles. Also, the program that executes the processing in this embodiment is not limited to the auxiliary program 42, but can be any program that receives instructions from the OS 21 or the general-purpose printing program 41 when printing using the general-purpose printing program 41. For example, the Print Workflow application whose specifications have been published by Microsoft may also be used.

[0081] Furthermore, the execution timing of the auxiliary program 42 is not limited to the examples of this embodiment. For example, it may be executed by direct execution instruction from the OS 21, or it may be a resident auxiliary program 42. In the case of a resident auxiliary program, the auxiliary program 42 should perform the operations described above upon receiving an execution instruction.

[0082] Furthermore, in any flowchart disclosed in each embodiment, the execution order of any multiple processes in any multiple steps can be arbitrarily changed or executed in parallel, as long as no inconsistencies arise in the processing content.

[0083] Furthermore, the processes disclosed in each embodiment may be executed by a single CPU, multiple CPUs, hardware such as an ASIC, or a combination thereof. Also, the processes disclosed in each embodiment can be implemented in various ways, such as by recording a program for executing the process on a recording medium or by a method.

[0084] 1 PC 2 Printer 11 CPU

Claims

1. A support program that is executable by the computer of an information processing device, corresponds to a printer connected to the information processing device, and supports a general-purpose printing program of the operating system of the information processing device, wherein the support program can cause the computer to execute: a first acquisition process for acquiring capability information from the printer; a first generation process for generating cache information corresponding to the printer based on the capability information acquired in the first acquisition process; and a cache process for storing the cache information generated in the first generation process in the memory of the information processing device, associated with version information indicating the version of the support program, and further, when an application program incorporated in the information processing device gives a selection instruction to the general-purpose printing program to select the printer, and the cache information corresponding to the selected printer is stored in the memory, the computer can execute a read process to read the version information associated with the cache information from the memory, and when the version indicated in the version information read in the read process is older than the current version of the support program, a second acquisition process for acquiring capability information from the printer, and a second generation process for generating cache information based on the capability information acquired in the second acquisition process, A support program configured to perform an update process that updates the cache information and version information stored in the memory using the cache information and the current version information of the support program generated in the second generation process, and to cause the computer to accept print settings for printing to the printer based on the cache information stored in the memory.

2. A support program as described in claim 1, wherein the support program is configured to cause the computer to execute the first acquisition process, the first generation process, and the cache process when the application program gives a selection instruction to the general-purpose printing program to select the printer, and the cache information corresponding to the selected printer is not stored in the memory.

3. A support program as described in claim 1, wherein in the first acquisition process, the support program acquires capability information and firmware information indicating the firmware version of the printer from the printer; in the cache process, the support program stores the cache information generated in the first generation process in the memory in association with the version information and the firmware information acquired in the first acquisition process; in the read process, the support program reads the version information and the firmware information associated with the cache information from the memory; the support program causes the computer to execute the read process and the firmware information acquisition process for acquiring the firmware information from the printer when the application program has given a selection instruction to the general-purpose printing program to select the printer and the cache information corresponding to the selected printer is stored in the memory; if the version indicated in the version information read in the read process is older than the current version of the support program, or if the version indicated in the firmware information read in the read process is older than the version indicated in the firmware information acquired in the firmware information acquisition process, the support program causes the computer to execute the second acquisition process, the second generation process and the update process; in the update process, A support program configured to update the cache information, version information, and firmware information stored in the memory using the cache information generated in the second generation process, the current version information of the support program, and the firmware information obtained in the firmware information acquisition process.

4. A support program as described in claim 1, wherein in the first acquisition process, the capability information is acquired from the printer and OS information indicating the version of the operating system is acquired from the operating system; in the cache process, the cache information generated in the first generation process is stored in the memory in association with the version information and the OS information acquired in the first acquisition process; in the read process, the version information and the OS information associated with the cache information are read from the memory; the support program causes the computer to execute the read process and the OS information acquisition process for acquiring the OS information from the operating system when the application program has given a selection instruction to the general-purpose printing program to select the printer and the cache information corresponding to the selected printer is stored in the memory; if the version indicated in the version information read in the read process is older than the current version of the support program, or if the version indicated in the OS information read in the read process is older than the version indicated in the OS information acquired in the OS information acquisition process, the computer is to execute the second acquisition process, the second generation process and the update process. The update process is configured to update the cache information, version information, and OS information stored in the memory using the cache information generated in the second generation process, the current version information of the support program, and the OS information obtained in the OS information acquisition process.

5. A support program as described in claim 1, wherein in the first acquisition process, the capability information is acquired from the printer, and communication mode information indicating the communication mode with the printer is acquired from the general-purpose printing program; in the cache process, the cache information generated in the first generation process is stored in the memory in association with the version information and the communication mode information acquired in the first acquisition process; in the read process, the version information and the communication mode information associated with the cache information are read from the memory; and the support program causes the computer to execute the read process and the communication mode acquisition process, which acquires the communication mode information from the general-purpose printing program, when the application program has given the selection instruction to the general-purpose printing program to select the printer and the cache information corresponding to the selected printer is stored in the memory. A support program configured such that, if the version indicated in the version information read in the read process is older than the current version of the support program, or if the communication mode indicated in the communication mode information read in the read process is different from the communication mode indicated in the communication mode information acquired in the communication mode acquisition process, the second acquisition process, the second generation process, and the update process are executed, and in the update process, the cache information, the version information, and the communication mode information stored in the memory are updated using the cache information generated in the second generation process, the current version information of the support program, and the communication mode information acquired in the communication mode acquisition process.

6. A support program as described in claim 1, wherein the support program is configured to cause the computer to execute the second acquisition process and the second generation process when the application program gives a selection instruction to the general-purpose printing program to select the printer, the cache information is stored in the memory, and the version information is not stored in the memory, and to execute a partial update process which updates the cache information stored in the memory using the cache information generated in the second generation process, and stores the current version information of the support program in the memory in association with the cache information.

7. A support program as described in claim 1, wherein the support program causes the computer to execute the following when the application program gives a selection instruction to the general-purpose printing program to select the printer and the cache information is not stored in the memory: the first acquisition process, the first generation process, the cache process, and the first response process for passing capability-dependent information indicating the capabilities of the printer, based on the capability information acquired in the first acquisition process, to the general-purpose printing program; the application program gives a selection instruction to the general-purpose printing program to select the printer and the cache information is stored in the memory: the read process, if the version indicated in the version information read in the read process is older than the current version of the support program: the second acquisition process, the second generation process, the update process, and the second response process for passing the capability-dependent information, based on the capability information acquired in the second acquisition process, to the general-purpose printing program; and if the version indicated in the version information read in the read process is not older than the current version of the support program: A support program configured to perform a cache read process for reading the cache information from the memory, and a third response process for passing the capability-dependent information based on the cache information read in the cache read process to the general-purpose printing program, thereby enabling the general-purpose printing program to cause the computer to accept print settings for the printer to perform printing based on the capability-dependent information passed from the support program.

8. A support program that is executable by the computer of an information processing device, corresponds to a printer connected to the information processing device, and supports a general-purpose printing program of the operating system of the information processing device, wherein the support program can cause the computer to execute: a first acquisition process for acquiring capability information and firmware information indicating the firmware version of the printer from the printer; a first generation process for generating cache information corresponding to the printer based on the capability information acquired in the first acquisition process; and a cache process for storing the cache information generated in the first generation process in the memory of the information processing device, associating it with the firmware information acquired in the first acquisition process, and further, when an application program incorporated in the information processing device gives a selection instruction to the general-purpose printing program to select the printer, and the cache information corresponding to the selected printer is stored in the memory, the support program can cause the computer to execute: a read process for reading the firmware information associated with the cache information from the memory; and a firmware information acquisition process for acquiring the firmware information from the printer, wherein if the version indicated in the firmware information read in the read process is older than the version indicated in the firmware information acquired in the firmware information acquisition process, A support program configured to perform the following: a second acquisition process for acquiring capability information from the printer; a second generation process for generating cache information based on the capability information acquired in the second acquisition process; and an update process for updating the cache information and the firmware information stored in the memory using the cache information generated in the second generation process and the firmware information acquired in the firmware information acquisition process, wherein the support program can cause the computer to accept print settings for printing to the printer based on the cache information stored in the memory.

9. A support program that is executable by the computer of an information processing device, corresponds to a printer connected to the information processing device, and supports a general-purpose printing program of the operating system of the information processing device, wherein the support program can cause the computer to execute: a first acquisition process that acquires capability information from the printer and OS information indicating the version of the operating system from the operating system; a first generation process that generates cache information corresponding to the printer based on the capability information acquired in the first acquisition process; and a cache process that stores the cache information generated in the first generation process in the memory of the information processing device, associating it with the OS information acquired in the first acquisition process, and further, when an application program incorporated in the information processing device gives a selection instruction to the general-purpose printing program to select the printer, and the cache information corresponding to the selected printer is stored in the memory, the support program can cause the computer to execute: a read process that reads the OS information associated with the cache information from the memory; and an OS information acquisition process that acquires the OS information from the operating system. If the version indicated in the OS information read in the read process is older than the version indicated in the OS information obtained in the OS information acquisition process, the support program is configured to execute: a second acquisition process for obtaining capability information from the printer; a second generation process for generating cache information based on the capability information obtained in the second acquisition process; and an update process for updating the cache information and OS information stored in the memory using the cache information generated in the second generation process and the OS information obtained in the OS information acquisition process, thereby enabling the support program to cause the computer to accept print settings for printing to the printer based on the cache information stored in the memory.

10. A support program that is executable by the computer of an information processing device, corresponds to a printer connected to the information processing device, and supports a general-purpose printing program of the operating system of the information processing device, wherein the support program can cause the computer to execute: a first acquisition process that acquires capability information from the printer and communication mode information indicating the communication mode with the printer from the general-purpose printing program; a first generation process that generates cache information corresponding to the printer based on the capability information acquired in the first acquisition process; and a cache process that stores the cache information generated in the first generation process in the memory of the information processing device, associating it with the communication mode information acquired in the first acquisition process, and further, when an application program incorporated in the information processing device gives a selection instruction to the general-purpose printing program to select the printer, and the cache information corresponding to the selected printer is stored in the memory, the support program can cause the computer to execute: a read process that reads the communication mode information associated with the cache information from the memory; and a communication mode acquisition process that acquires the communication mode information from the general-purpose printing program. If the communication mode indicated in the communication mode information read in the read process differs from the communication mode indicated in the communication mode information acquired in the communication mode acquisition process, the support program is configured to execute: a second acquisition process for acquiring capability information from the printer; a second generation process for generating cache information based on the capability information acquired in the second acquisition process; and an update process for updating the cache information and communication mode information stored in the memory using the cache information generated in the second generation process and the communication mode information acquired in the communication mode acquisition process, thereby enabling the support program to cause the computer to accept print settings for printing to the printer based on the cache information stored in the memory.