Support Program

The support program manages and updates cache information associated with printer capabilities and version information to maintain compatibility with the latest printing environment, addressing issues of incompatibility and reducing communication load.

JP2026092504APending Publication Date: 2026-06-05BROTHER KOGYO KK

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
BROTHER KOGYO KK
Filing Date
2024-11-26
Publication Date
2026-06-05

AI Technical Summary

Technical Problem

Cached information based on printer capabilities may become incompatible with the latest printing environment due to changes in the printing environment, such as firmware updates or operating system changes, leading to potential communication load increases and printing issues.

Method used

A support program that executes on a computer to manage cache information associated with printer capabilities, version information, and firmware information, updating these when necessary to ensure compatibility with the current environment.

Benefits of technology

Ensures that printer settings and capabilities are up-to-date, reducing the likelihood of communication load increases and maintaining efficient printing operations by adapting to changes in the printing environment.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026092504000001_ABST
    Figure 2026092504000001_ABST
Patent Text Reader

Abstract

To provide a technology that can adapt to changes in the printing environment in an information processing device that incorporates a general-purpose printing program standard to the OS. [Solution] The auxiliary program 42 instructs the CPU 11 of the PC 1 to obtain capability information from the printer 2, generate cache information based on the obtained capability information, associate it with version information indicating the version of the auxiliary program 42, and store it in memory 12. When the editing application 43 instructs the general-purpose printing program 41 to select the printer 2, and cache information is stored in memory 12, the auxiliary program 42 instructs the CPU 11 to read the version information associated with the cache information. If the version indicated in the read version information is older than the current version of the auxiliary program 42, the auxiliary program 42 instructs the CPU 11 to obtain capability information from the printer 2, generate cache information, and update the cache information and version information.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

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

Background Art

[0002] In recent years, a technology for controlling a printer by using a general-purpose printing program compliant with an operating system (OS) that forms 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 printing technology using a general-purpose printing program compliant with the OS, there is, for example, Patent Document 1. Patent Document 1 discloses a technology for acquiring capability information from a printer by using 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 from the next time onwards.

Prior Art Documents

Patent Documents

[0004]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0005] Cached information based on capabilities obtained from the printer can reduce the communication load. However, printer capabilities may expand due to changes in the printing environment. Therefore, cached information may not always be compatible with the latest printing environment. [Means for solving the problem]

[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, the support program is configured to execute a read process to read the version information associated with the cache information from the memory, and if the version indicated in the version information read in the read process is older than the current version of the support program, it is configured to execute a second acquisition process to obtain the capability information from the printer, a second generation process to generate the cache information based on the capability information obtained in the second acquisition process, and an update process to update the cache information and 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, 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.

[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, associating it 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, 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 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 execute printing on the printer 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, 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 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 acquire 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 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. [Effects of the Invention]

[0013] According to the technology disclosed herein, a technology is realized that can adapt to changes in the printing environment in an information processing device incorporating an OS standard general-purpose printing program. [Brief explanation of the drawing]

[0014] [Figure 1] This block diagram shows an overview of the electrical configuration of a PC. [Figure 2] This is a sequence diagram showing an example of the printer selection procedure. [Figure 3] This is a sequence diagram showing an example of the cache generation procedure. [Figure 4] This is a sequence diagram showing an example of the printing procedure. [Figure 5] This is an explanatory diagram showing an example of the detailed settings screen. [Modes for carrying out the invention]

[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 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. Note that PC1 may utilize storage media that the CPU 11 can read and write to, such as CD-ROMs and DVD-ROMs, in addition to the built-in ROM, RAM, HDD, etc.

[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 input acceptance functionality, or it may include a touch panel that has the functionality of the display 13a and input acceptance functionality.

[0019] The communication IF14 includes hardware for communicating with an external device such as the printer 2. The communication standards of the communication IF14 are Ethernet (registered trademark), Wi-Fi (registered trademark), USB, etc. The PC1 may be connected to the Internet via the communication IF14. Also, the PC1 may have a plurality of communication modes corresponding to a plurality of communication standards. When having a plurality of communication modes, the PC1 communicates with the printer 2 using one of them according to the user's selection or the hardware configuration.

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

[0021] The OS21 is a multi-task OS that can manage and switch between a plurality of tasks to process the plurality of tasks in parallel. The OS21 is, for example, Windows (registered trademark), macOS (registered trademark), Linux (registered trademark), iOS (registered trademark), Android (registered trademark).

[0022] The OS21 includes a general-purpose printing program 41. The general-purpose printing program 41 is an OS standard program prepared by the vendor of the OS21 and provided as part of the OS21. That is, the PC1 is equipped with the OS21 having the general-purpose printing program 41. The general-purpose printing program 41 is not configured to use a printer driver specific to each printer.

[0023] The general-purpose printing program 41 is a program that has the functionality to perform 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 target for printing 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 performs 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 form, 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 supports may be two or more. For example, an auxiliary program may be 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 printer types, 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 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 vendor of printer 2. The editing application 43 can receive a print execution command via the user interface 13, for example, to print to 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, for example, 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 PC1 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, launches 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 that can accept 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 also display a screen that includes the 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, which includes 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 if it is determined 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 available to printer 2, such as information indicating the selectable paper feed trays and paper output trays, and information such as 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 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 printer 2. The general-purpose printing program 41 can obtain information from printer 2 via 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 printer 2 requesting capability information and pass the information obtained from 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 printer 2, for example, using MIB (Management Information Base).

[0040] The auxiliary program 42 generates cache information corresponding to 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 printer 2 and information regarding the default print settings when printing is performed on printer 2. The cache information may be the capability information acquired from printer 2 itself, 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, if cache information exists but no related information is found, the auxiliary program 42 updates the existing cache information. That is, it overwrites the cache information stored in memory 12 with the newly generated cache information and stores the cache information in association with the auxiliary version information. In this case, B12 is an example of a partial update process. In this case, the auxiliary program 42 may choose to overwrite only the information that may be changed from the already stored cache information. For example, the auxiliary program 42 may choose not to update the information indicating the model of printer 2.

[0043] In other words, even if cache information exists, if related information is not stored, the auxiliary program 42 retrieves capability information from the printer 2 again and stores it along with information indicating the latest version of the auxiliary program 42 at the time the cache information was generated. Therefore, it is possible to avoid the version becoming unknown in subsequent processing.

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

[0045] For example, if firmware version information is stored 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 OS 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 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 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 obtained 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] Returning to the explanation of the selection setting procedure in Figure 2, if cache information is stored in memory 12 and it is determined that related information exists (alt:[Cache exists and related information exists]), the auxiliary program 42 first reads all the related information stored in association with the cache information (A31). A31 is an example of the read process. Specifically, the auxiliary program 42 reads all the information stored in association with the cache information, such as auxiliary version information, firmware version information, OS version information, and communication mode.

[0049] Furthermore, the auxiliary program 42 obtains the current information for each related piece of information read in A31 (A32). If the related information is only auxiliary version information, the auxiliary program 42 obtains the current version of the auxiliary program 42. If the related information includes firmware version information, the auxiliary program 42 obtains information indicating the firmware version from the printer 2, similar to B21 in the cache generation procedure described above (Figure 3). In this case, B21 is an example of the firmware information acquisition process.

[0050] Furthermore, if related information includes OS version information, the auxiliary program 42 obtains information indicating the OS version from the general-purpose printing program 41, similar to B22 in the cache generation procedure (Figure 3) described above. In this case, B22 is an example of the OS information acquisition process. Furthermore, if related information includes communication mode information, the auxiliary program 42 obtains information indicating the communication mode from the general-purpose printing program 41, similar to B22 in the cache generation procedure (Figure 3) described above. In this case, B22 is an example of the 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 pieces of information does not match the current information (alt:[mismatched]), it performs a cache update procedure (A35). The auxiliary program 42 performs a 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 OS21, 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 printer 2 can support. Additionally, upgrading the OS21 may change the print settings and parameters that the general-purpose printing program 41 can accept. Upgrading the OS21 may enable support for mixed paper formats (where multiple paper sizes are mixed in one document) and fix bugs.

[0056] Furthermore, in the cache update procedure of A35, 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 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 in A21, the auxiliary program 42 passes general capability information indicating the capabilities of printer 2 to the general-purpose printing program 41 based on the cache information (A41). General capability information is information indicating the capabilities of printer 2 included in the cache information. General capability information may include all of the capabilities information of printer 2, or it may include only some of the information. General capability information is an example of capability-dependent information.

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

[0060] The general-purpose printing program 41 shares the 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 use the general-purpose capability information received from the auxiliary program 42, for example, 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 printer 2 included in the cache information. In addition, if the received print settings include processing that can be executed by printer 2, the auxiliary program 42 may generate a command to cause 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, thus reducing its program size.

[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 performed 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 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 printer 2, OS 21 version information, and information indicating the communication mode. When 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 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 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 source 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 embodiments describe in detail only the operations related to printing as the operation of the auxiliary program 42, the auxiliary program 42 may have other roles. Also, the program that executes the processing of 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. [Explanation of Symbols]

[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, The support program is installed on the computer, A first acquisition process for acquiring capability information from the aforementioned printer, A first generation process that generates cache information corresponding to the printer based on the capability information obtained in the first acquisition process, A cache process that stores 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, It is possible to make it run, Furthermore, if 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, A read operation is performed to read the version information associated with the cache information from the memory. If the version indicated in the version information read during the aforementioned read process is older than the current version of the support program, A second acquisition process for acquiring the capability information from the printer, A second generation process that generates the cache information based on the capability information obtained in the second acquisition process, 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, Make it run, 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. A support program configured in this way.

2. A support program as described in claim 1, The support program is installed on the computer, If the application program gives the general-purpose printing program a selection instruction to select the printer, and the cache information corresponding to the selected printer is not stored in the memory, The first acquisition process, the first generation process, and the cache process are executed. A support program configured in this way.

3. A support program as described in claim 1, In the first acquisition process described above, The capabilities information and firmware information indicating the firmware version of the printer are obtained from the printer. In the aforementioned cache processing, The cache information generated in the first generation process is stored in the memory in association with the version information and the firmware information obtained in the first acquisition process. In the aforementioned reading process, Read the version information and firmware information associated with the cache information from the memory, The support program is installed on the computer, When the application program issues 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 aforementioned reading process and the firmware information acquisition process, which acquires the firmware information from the printer, are executed. 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 second acquisition process, the second generation process, and the update process are executed. In the aforementioned update process, 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 are used to update the cache information, version information, and firmware information stored in the memory. A support program configured in this way.

4. A support program as described in claim 1, In the first acquisition process described above, The capability information is obtained from the printer, and OS information indicating the version of the operating system is obtained from the operating system. In the aforementioned cache processing, The cache information generated in the first generation process is stored in the memory in association with the version information and the OS information obtained in the first acquisition process. In the aforementioned reading process, Read the version information and OS information associated with the cache information from the memory, The support program is installed on the computer, When the application program issues 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 read process and the OS information acquisition process, which acquires the OS information from the operating system, are executed. 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 obtained in the OS information acquisition process, the second acquisition process, the second generation process, and the update process are executed. In the aforementioned update process, 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 are used to update the cache information, version information, and OS information stored in the memory. A support program configured in this way.

5. A support program as described in claim 1, In the first acquisition process described above, The capability information is obtained from the printer, and communication mode information indicating the communication mode with the printer is obtained from the general-purpose printing program. In the aforementioned cache processing, 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 obtained in the first acquisition process. In the aforementioned reading process, Read the version information and communication mode information associated with the cache information from the memory, The support program is installed on the computer, When the application program issues 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 read process and the communication mode acquisition process, which acquires the communication mode information from the general-purpose printing program, are executed. 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. In the aforementioned update process, The cache information, version information, and 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 obtained in the communication mode acquisition process. A support program configured in this way.

6. A support program as described in claim 1, The support program is installed on the computer, When the application program gives the general-purpose printing program a selection instruction to select the printer, and the cache information is stored in the memory, and the version information is not stored in the memory, The second acquisition process and the second generation process are executed, Using the cache information generated in the second generation process, the cache information stored in the memory is updated, and the current version information of the support program is associated with the cache information and stored in the memory. A support program configured in this way.

7. A support program as described in claim 1, The support program is installed on the computer, If the application program gives the general-purpose printing program a selection instruction 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 are executed. When the application program issues a selection instruction to the general-purpose printing program to select the printer, and the cache information is stored in the memory, The aforementioned reading process is executed, If the version indicated in the version information read during the aforementioned 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 are executed. If the version indicated in the version information read in the aforementioned read process is not older than the current version of the support program, A cache read process that reads the cache information from the memory, 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, The general-purpose printing program can then cause the computer to accept print settings for the printer to perform printing based on the capability-dependent information passed from the support program. A support program configured in this way.

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, The support program is installed on the computer, 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 obtained in the first acquisition process, 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 farm information acquired in the first acquisition process, It is possible to make it run, Furthermore, if 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, A read operation that reads the firmware information associated with the cache information from the memory, A firmware information acquisition process that acquires the firmware information from the printer, Make it run, If the version indicated in the firmware information read in the aforementioned read process is older than the version indicated in the firmware information obtained in the aforementioned firmware information acquisition process, A second acquisition process for acquiring the capability information from the printer, A second generation process that generates the cache information based on the capability information obtained in the second acquisition process, An update process that updates the cache information and the farm information stored in the memory using the cache information generated in the second generation process and the farm information obtained in the farm information acquisition process, Make it run, 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. A support program configured in this way.

9. A support program that 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 is installed on the computer, 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 obtained in the first acquisition process, 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 OS information acquired in the first acquisition process, It is possible to make it run, Furthermore, if 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, A read operation that reads the OS information associated with the cache information from the memory, An OS information acquisition process that acquires the OS information from the aforementioned operating system, Make it run, If the version indicated in the OS information read in the aforementioned read process is older than the version indicated in the OS information obtained in the aforementioned OS information acquisition process, A second acquisition process for acquiring the capability information from the printer, A second generation process that generates the cache information based on the capability information obtained in the second acquisition process, An update process that updates 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, Make it run, 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. A support program configured in this way.

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, The support program is installed on the computer, 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 obtained in the first acquisition process, 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 communication mode information acquired in the first acquisition process, It is possible to make it run, Furthermore, if 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, A read operation that reads the communication mode information associated with the cache information from the memory, A communication mode acquisition process that acquires the communication mode information from the general-purpose printing program, Make it run, If the communication mode indicated in the communication mode information read out in the read operation differs from the communication mode indicated in the communication mode information acquired in the communication mode acquisition operation, A second acquisition process for acquiring the capability information from the printer, A second generation process that generates the cache information based on the capability information obtained in the second acquisition process, An update process that updates 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 obtained in the communication mode acquisition process, Make it run, 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. A support program configured in this way.