WO2007114513A1 - Information processing apparatus and data output managing system - Google Patents

Information processing apparatus and data output managing system Download PDF

Info

Publication number
WO2007114513A1
WO2007114513A1 PCT/JP2007/057713 JP2007057713W WO2007114513A1 WO 2007114513 A1 WO2007114513 A1 WO 2007114513A1 JP 2007057713 W JP2007057713 W JP 2007057713W WO 2007114513 A1 WO2007114513 A1 WO 2007114513A1
Authority
WO
WIPO (PCT)
Prior art keywords
module
add
information
printer driver
modules
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/JP2007/057713
Other languages
English (en)
French (fr)
Inventor
Masaki Yamamichi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to US12/160,565 priority Critical patent/US8627343B2/en
Publication of WO2007114513A1 publication Critical patent/WO2007114513A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1205Improving or facilitating administration, e.g. print management resulting in increased flexibility in print job configuration, e.g. job settings, print requirements, job tickets
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1224Client or server resources management
    • G06F3/1225Software update, e.g. print driver, modules, plug-ins, fonts
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1293Printer information exchange with computer

Definitions

  • the present invention relates to a method of providing an expanding function of a printer driver by mainly adding a function expanding module to the printer driver.
  • a file searching program 7 searches for a printer driver' registered in a registry file 12.
  • a check program 6 confirms whether or not a printer driver of the same line-up as that of a driver of a second printer 11 has already been registered in the registry file 12.
  • the check program discriminates the presence or absence of competition between resources of the driver of the second printer 11 to be newly registered and resources of a driver of a first printer which has already been registered. That is, if an I/O port address which is allocated to the second printer 11 and that allocated to the first printer compete, the processing routine advances to step 106. If they do not compete, step 105 follows.
  • the driver of the second printer 11 is registered into the registry file 12 by a file writing program 5 and the printer driver is written into an auxiliary storing device such as a hard disk or the like of a computer, thereby executing installation. If the I/O port address compete, in step 106, in order to notify the user that the installing order is incorrect, a predetermined warning is displayed onto a monitor 13 by an alarm displaying program 9. The driver is deleted and the installing order is changed.
  • a setup method of an information processing apparatus in which a module as a control program for expanding a printer driver has been installed, comprising: detecting a plurality of the modules as control programs each for expanding the printer driver; and setting up the information processing apparatus so that the plurality of detected modules execute processes in predetermined operating order.
  • FIG. 1 is a block diagram illustrating an example of an information processing apparatus to which the invention can be applied.
  • FIG. 2 is a block diagram illustrating a constructional example of a print system according to the first embodiment of the invention.
  • FIG. 3 is a data constructional diagram showing a data construction of an add-in module information file illustrated in FIG. 2.
  • FIG. 4 is a flowchart showing an example of a first control processing procedure in the invention.
  • FIG. 5 is a flowchart showing an example of a second control processing procedure in the invention.
  • FIG. 6 is a flowchart showing an example of a third control processing procedure in the invention.
  • FIG. 7 is a flowchart showing an example of a fourth control processing procedure in the invention.
  • FIG. 8 is a flowchart showing an example of a fifth control processing procedure in the invention.
  • FIG. 9 is a schematic diagram illustrating an example of a display screen at the time of a UI displaying process upon add-in installation by an add-in installer.
  • FIGS. 1OA and 1OB are schematic diagrams each illustrating an example of a display screen at the time of the UI displaying process upon add-in installation by the add-in installer.
  • FIG. 11 is a schematic diagram illustrating an example of a display screen at the time of the UI . displaying process upon add-in installation by the add- in installer.
  • FIG. 12 is a schematic diagram illustrating an example of a display screen at the time of the UI displaying process upon add-in installation by the add- in installer.
  • FIG. 13 is a schematic diagram illustrating an example of a display screen at the time of the UI displaying process upon add-in installation by the add- in installer.
  • FIG. 14 is a flowchart showing an example of a sixth control processing procedure in the invention.
  • FIG. 15 is a block diagram illustrating a ⁇ constructional example of a print system according to the second embodiment of the invention.
  • FIG. 16 is a data constructional diagram showing a data construction of a filter module information file illustrated in FIG. 15.
  • FIG. 17 is a flowchart showing an example of a seventh control processing procedure in the invention.
  • FIG. 18 is a flowchart showing an example of a eighth control processing procedure in the invention.
  • FIG. 19 is a flowchart showing an .example of a ninth control processing procedure in the invention.
  • FIG. 20 is a flowchart showing an example of a tenth control processing procedure in the invention.
  • FIG. 21 is a flowchart showing an example of an eleventh control processing procedure in the invention.
  • FIG. 22 is a diagram for describing a memory map in a storing medium (recording medium) for storing various data processing programs which can be read by the 1 information processing apparatus (computer) according to the invention.
  • One aspect of the embodiment is made to solve the W
  • FIG. 1 is a block diagram illustrating an example of an information processing apparatus to which the invention can be applied.
  • a computer as an information processing apparatus (for example, personal computer) 100 is
  • the computer 100 and a printer 30 are connected by one of an interface such as Centronics and a network such as Ethernet (registered trademark) .
  • an interface such as Centronics
  • a network such as Ethernet (registered trademark)
  • 25 network 20 has been illustrated in FIG. 1, it is also possible to use a construction in which they are connected via an interface (not shown) (for example, USB, Centronics, or the like) .
  • an interface for example, USB, Centronics, or the like
  • a CPU 1 controls each device connected to a system bus 4 on the basis of a program (BIOS, OS, application program, various installers including an add-in installer, which will be described hereinafter, or the like) stored in one of a program ROM in a ROM 3 and an external memory 12 and integratedly controls the whole apparatus .
  • a program (BIOS, OS, application program, various installers including an add-in installer, which will be described hereinafter, or the like) stored in one of a program ROM in a ROM 3 and an external memory 12 and integratedly controls the whole apparatus .
  • Font ' data and the like are stored into a font ROM in the ROM 3.
  • Various kinds of data is stored into a data ROM in the ROM 3.
  • a RAM 2 functions as a main memory, a work area, or the like of the CPU 1.
  • a keyboard controller (KBC) 5 controls an input from a pointing device 9 (for example, mouse) , a keyboard (KB) 10, or the like.
  • a display controller controls an input from a pointing device 9 (for example, mouse) , a keyboard (KB) 10, or the like.
  • the display 11 controls a display of a display 11.
  • the display 11 may be a CRT, an LCD, or a display apparatus of another type.
  • a memory controller (MC) 7 controls an access to the external memory 12 (hard disk (HD) , a flexible disk (FD) (not shown), a CD-ROM, or the like).
  • a network interface (NW I/F) 8 controls communication with the printer 30 through the network 20.
  • FIG. 2 is a block diagram illustrating a constructional example of the print system according to the first embodiment of the invention.
  • the same component elements as those in FIG. 1 are designated by the same reference numerals.
  • a printer driver 101 is a program for allowing the computer 100 to instruct the printer 30 to print.
  • the printer driver 101 inputs a print command from an application 108 or the like of the computer 100 through a graphic engine 109 in the OS.
  • the printer driver 101 converts the input print command into a control command which can be recognized by the printer 30 and transfers to the printer through a print service 105.
  • the printer driver 101 is installed by a printer driver installer 107 or a printer driver installing method (not shown) which is provided by the OS and can be used.
  • An add-in module 102 is a file group including a program file such as DLL (Dynamic Link Library) and the like.
  • the add-in module 102 is installed by one of an add ⁇ in installer 106 and the printer driver 101, so that it can communicate by using a common interface of the ⁇ printer driver, thereby realizing a function expansion. That is, the add-in installer 106 is a program which can be executed in the state where the printer driver 101 has been installed.
  • the add-in module 102 operates as a part of the printer driver.
  • the add-in module information file 103 is one of the group of files constructing the add-in module and has information as illustrated in an example in FIG. 3.
  • a file format of the add-in module information file 103 may be one of readable text format and .XML format' or a non-readable format such as a binary file.
  • a data construction of the add-in module information file 103 will now be described with reference to FIG. 3.
  • FIG. 3 is a data constructional diagram showing the data construction of the add-in module information file 103 illustrated in FIG. 2.
  • add-in module construction file information 201 is an area where a file construction of the add-in module 102 has been described. Version information of the add-in module 102 has been described in an area 202. A date of release of the add-in module 102 has been described in an area 203. Product name information of the add-in module 102 has been described in an area 204. Detailed information of the add-in module 102 has been described in an area 205. A priority number (PriorityNumber) 206 is an area where an unconditional number which decides order of the operation has been described. An area 207 is an area where Copyright information of the add-in module 102 has been described.
  • Printer driver file information 104 is one management information (construction information) for allowing the OS to use the printer driver by using the print service 105.
  • the printer driver file information 104 has been registered in a predetermined area (predetermined storing area which is managed by the OS) in the external memory 12. For example, in Windows (registered trademark) , "DependentFiles" in a registry corresponds to the printer driver file information 104. If a plurality of printer drivers have been installed, the printer driver file information 104 is registered into the external memory 12 every printer driver.
  • the add-in module 102 has been installed and add-in module file information 111 has. been registered in the printer driver file information 104.
  • Information (for example, add-in module information file name) 112 to specify the add-in module information file is included in the add-in module file information 111.
  • the printer driver 101 can operate. If a plurality of add-in modules have been installed in the ⁇ printer driver 101, the add-in module file information 111 (including the informationll2 to specify the add-in module information file) is registered every add-in module.
  • the print service 105 is a service program to control one of the printing and the installation of the printer driver 101 on the operating system (OS) .
  • the add-in installer 106 is a center device to accomplish the object of the invention' and is a program for additionally installing the add-in module into 'the installed printer driver 101. It is now assumed that the add-in module file to be additionally installed has been stored in one of the add-in installer 106 and another storing area in the external memory 12.
  • the add-in installer 106 mainly has the following functions (1) to (5) .
  • Construction module detecting function for detecting one or a' plurality of modules constructing one or a plurality of printer drivers.
  • Module proper operating order discriminating function for discriminating the order of the proper operations of the add-in module to be added and one or a plurality of modules (installed add-in- module 102) constructing the printer driver 101 (order adapted to make the plurality of add-in modules operative) .
  • File adding function for adding the add-in module file.
  • File registering function for registering the added additional file into the printer driver file information 104 according to the operating order determined by the foregoing module proper operating order discriminating function.
  • Recognizing function for allowing the.print service 105 to recognize the change in module construction .
  • the printer driver installer 107 is a program for installing the printer driver 101 into the computer 100.
  • the add-in installer 106 and the printer driver installer 107 are realized by a method whereby the programs stored in the external memory 12 is executed in the RAM 2 by the CPU 1 illustrated in FIG. 1.
  • FIG. 4 is a flowchart showing an example of a first control processing procedure in the invention and corresponds to the detailed flow for the processes in the add-in installer 106. That is, the processes in this flowchart are realized by a method whereby the ⁇ program which corresponds to the add-in installer 106 and has been stored in the external memory 12 is executed in the RAM 2 by the CPU 1.
  • S3000 to S3400 indicate processing steps.
  • step S3000 the add-in installer 106 detects the installed add-in module with respect to the addition target printer driver of the add-in module.
  • the addition target printer driver of the add-in module is a printer driver which has been installed in the computer 100.
  • the printer driver selected as an addition target of the add-in module by the user corresponds to such an addition target -pr.inter driver. It is assumed here that the printer driver 101 in FIG. 2 is the addition target printer driver. Details of the process of step S3000 will be described in FIG. 5.
  • step S3100 the add-in installer 106 forms add-in module order information.
  • add-in module order information which holds proper order information (order adapted to make the plurality of add-in modules operative) is formed.
  • the add-in module order information is formed only when the order in which the add-in modules can operate properly (order adapted to make the plurality of add-in modules operative) exists.
  • step S3100 As a holding format of the add-in module order information, although a format such as file format or format in which such information is held in the RAM 2 is not limited, description will be made here on the assumption that such information is held in the RAM 2. In the add-in module order information, the number showing the order and a module name are held as a minimum information construction. Details of the process of step S3100 will be described in FIG. 6.
  • step S3200 the add-in installer 106 discriminates whether or not the add-in module order information exists in the RAM 2. If it is determined that the a'dd-in module order information does not exist in the RAM 2, the add-in installer 106 advances a processing routine to step S3400.
  • the add-in installer 106 stops the add-in module installing process in step S3400 and finishes the processing routine of this flowchart.
  • step S3200 If it is determined in step S3200 that the add-in module order information exists in the RAM 2, the add-in installer 106 advances the processing routine to step S3-300.
  • the add-in installer 1-06 executes the add-in module installing process in step S3300 and finishes the processing routine of this .flowchart. Details of the process in step S3300 will be described in FIG. 7.
  • FIG. 5 is a flowchart showing an example of a second control processing procedure in the invention and corresponds to the detailed flow for the add-in module detecting process shown in step S3000 in FIG. 4. That is, the processes in this flowchart are realized by a method whereby the program which corresponds to the add- in installer 106 and has been stored in the external memory 12 is executed in the RAM 2 by the CPU 1.
  • 3400O 1 to S4600 indicate processing steps.
  • step S4000 the add-in installer 106 obtains the construction information regarding the printer driver 101 with reference to the printer driver file information 104.
  • step S4100 the add-in installer 106 discriminates whether or not the add-in module information file 103 exists.
  • step S4000 when at least one file information (add-in module file information 111) regarding the add-in module information file 103 is included in the construction information obtained in step S4000, it is determined that the add-in module information file 103 exists. If none of the add-in module file information 111 is included in the construction information, it is determined that the add-in module information file 103 does not exist.
  • step S4100 If it is determined in step S4100 that the add-in module information file 103 does not exist, the add-in installer 106 finishes the processing routine of this flowchart as it is and advances the processing routine to step S3100 in FIG. 4. If it is determined in step S4100 that the add-in module information file 103 exists, the add-in installer 106 advances the processing routine to step S4200.
  • step S4200 the add-in installer 106 discriminates whether or not the reference to all of the add-in module information files 103 registered in the construction information obtained in step S4000 has been finished.
  • step S4200 If it is determined in step S4200 that the reference to all of the add-in module information files 103 is not finished yet, the add-in installer 106 advances the processing routine to step S4300.
  • step S4300 the add-in installer 106 selects one of the add-in module information files 103 which have been registered in the construction information obtained in step S4000 and are not referred to yet, and refers to the information in the selected add-in module information file 103.
  • next step S4400 the add-in installer 106 discriminates whether or not the information in the add- in module information file 103 has normally been referred to in step S4300.
  • step S4400 If it is determined in step S4400 that the information in the add-in module information file 103 • is not normally referred to in step S4300, the add-in installer 106 advances the processing routine to step S4500. In step S450Q., the add-in installer 106 regards that this add-in module is not normally operating, that is, the add-in of this add-in module is not performed, and advances the processing routine to step S4600. If it is determined in step S4400 that the information in the add-in module information file 103 has normally been referred to in step S4300, the add-in installer 106 advances the processing routine to step S4600. ' ⁇ In step S4600, the add-in installer 106 advances the processing routine to the reference to the next add- in module information file 103 and returns the processing routine to step S4200.
  • step S4200 If it is determined in step S4200 that the reference to all of the add-in module information- 1 files 103 registered in the construction information has been finished, the add-in installer 106 finishes the processing routine of this flowchart and advances the processing routine to step S3100 in FIG. 4. In this manner, the detailed operation of the add- in module detecting process shown in step S3000 in FIG. 4 is executed. If 'a plurality of printer drivers to which the add-in module is added are selected, processes similar to those mentioned above are repeated the number of times corresponding to the number of printer drivers which are selected.
  • FIG. 6 is a flowchart showing an example of a third control processing procedure in the in d ention and corresponds to the detailed flow for the add-in module order information forming process shown in step S3100 in FIG. 4. That is, the processes in this flowchart are realized by a method whereby the program which corresponds to the add-in installer 106 and has been stored in the external memory 12 is executed in the RAM 2 by the CPU 1.
  • S5000 to S5800 indicate processing steps.
  • the add-in installer 106 executes an initializing process such as a process to newly form add-in module order information and the like.
  • step S5100 the add-in installer 106 discriminates whether or not the obtainment of the add- in module information files of all of the add-in modules detected in step S3000 in FIG. 4 and all of the add-in modules to be added from now on has been finished with respect to the addition target printer drivers of the add-in modules. That is, the add-in installer 106 discriminates whether or not the forming process of the add-in module order information has been completed.
  • step S5100 If it is determined in step S5100 that the obtainment of the add-in module information files of all of the add-in modules detected in step S3000 in FIG. 4 and all of the add-in modules to be added from now on is not finished yet, the add-in installer 106 advances the processing routine to step S5200.
  • step S5200 the add-in installer 106 obtains one of the add-in module information files 103 which are not obtained yet among the add-in modules detected in step S3000 in FIG. 4 and the add-in modules , to be added from now on.
  • the add-in module corresponding to the obtained add-in module information file 103 is called an "add-in module which is highlighted at present".
  • step S5300 the add-in installer 106 obtains the PriorityNumber 206 from the add-in module information file 103 obtained in step S5200.
  • PriorityNumber denotes, for example, an integer of 1 or more and defines the operating order according to a magnitude of a numerical value. By this PriorityNumber, it is also possible to cope with the case where the module has newly been added.
  • step S5400 the add-in installer 106 compares the PriorityNumbers of the add-in modules which have already been written in the add-in module order information until this processing step with the PriorityNumber of the add-in module which is highlighted at present.
  • the add-in installer 106 determines the order (writing positions into the add-in module order information) so as to become the asce ' nding order of the PriorityNumbers .
  • step S5500 the add-in installer 106 discriminates whether or not the PriorityNumbers can be written to the writing positions determined in step S5400.
  • step S5500 a case where the PriorityNumbers cannot be written, a case where the PriorityNumbers are the same or such a competition that the modules cannot coexist or the like has occurred is considered. If it is determined in step S5500 that the writing is impossible, the add-in installer 106 advances the processing routine to step S5800.
  • step S5800 the add-in installer 106 determines that the proper order (operating order adapted to make operative the add-in modules which have previously been added and the add-in modules which are added from now on) does not exist, and deletes the add-in module order information held in the RAM 2 at present.
  • the add-in installer 106 displays a message to the display 11 in a step (not shown) in order to notify the user that the proper order (order adapted to make the add-in modules operative) to which the modules are applied does not exist because the PriorityNumbers are the same or such a competition that the modules cannot coexist or the like has occurred.
  • the add-in installer 106 finishes the processing routine of this flowchart and advances the processing routine to step S3200 in FIG. 4.
  • step S5500 If it is determined in step S5500 that the writing is possible, the add-in installer 106 advances the processing routine to step S5600.
  • step S5600 the add-in installer 106 writes the name of the add-in module which is highlighted at present to the writing position in the add-in module order information decided, in step S5400. In the embodiment, the number showing the order and the add-in module name are written. Subsequently, in step S5700, the add-in installer 106 advances the processing routine to the next add-in module information file and returns the processing routine to step S5100.
  • step S5100 If it is determined in step S5100 that the obtainment of the add-in module information files of all of the add-in modules detected in step S3000 in FIG. 4 and all of the add-in modules to be added from now on has been finished, the add-in installer 106 finishes the processes in this flowchart and advances the processing routine to step S3200 in FIG. 4.
  • step S3100 in FIG. 4 the detailed operation of the add- in module order information forming process shown in step S3100 in FIG. 4 is executed. If a plurality of printer drivers to which the add-in module is added are selected, processes similar to those mentioned above are repeated the number of times corresponding to the number of printer drivers which are selected.
  • each add-in module holds the PriorityNumber and the add-in module order information is formed in FIG. 6, the add-in module order information can be . provided as file information from the outside. For example, it is also possible to construct the system .
  • the add-in module order information may have a text format such as XML or a non-readable binary format and its data format is not limited.
  • FIG. ' 7 is a flowchart showing an example of a fourth control processing procedure in the invention and corresponds to the detailed flow for the add-in module installing process shown in step S3300 in FIG. 4. That is, the processes in this flowchart are realized by a method whereby the program which corresponds to the add- in installer 106 and has been stored in the external memory 12 is executed in the RAM 2 by the CPU 1.
  • S6000 to S6600 indicate processing steps.
  • step S6000 the add-in installer 106 initializes the add-in module file information 111 registered in the printer driver file information 104.
  • step S6100 the add-in installer 106 obtains the add-in module order information formed in step S3100.
  • step S6200 the add-in installer 106 discriminates whether or not the installing process of all of the add-in modules written in the add-in module order information obtained in step S6100 has been completed.
  • step S6200 If it is determined in step S6200 that the installing process of all of the add-in modules written in the add-in module order information obtained in step S6100 is not completed, the add-in installer 106 advances a processing routine to step -S6300. In step S6300, the add-in installer 106 obtains one add-in module (add-in module construction file) from the smaller operating order according to the add-in module order information.
  • step S6400 the ' add-in installer 106 adds the add-in module construction file obtained in step S6300 to a predetermined area in the external memory 12 (storing area in the OS) . It is assumed that this processing step is executed only to the add-in module which is newly additionally installed this time and it is skipped with respect to the add-in modules which have previously been added.
  • next step S6500 the add-in installer 106 registers the add-in module file information 111 (including the information 112 to specify the add-in module information file) into the printer driver construction information (printer driver file information 104).
  • next step S6600 the add-in installer 106 advances the processing routine to the next add-in module written in the add-in module order information and returns the processing routine to step S6200. If it is determined in step S6200 that the installing process of all of the add-in modules written in the add-in module order information has been completed, the add-in installer 106 finishes the processes of this flowchart. By executing the installing process as mentioned above, the new add-in module can be registered in such a manner that the add-in modules which have previously been added and the add-in modules which were newly added can execute the processes in the operating order decided in step S3100 in FIG. 4.
  • FIG. 8 is a flowchart showing an example of a fifth control processing procedure in the invention and corresponds to the detailed flow for the UI display at the time of the add-in installation by the add-in installer 106. That is, the processes in this flowchart are realized by a method whereby the program which corresponds to the add-in installer 106 and stored in the external memory 12 is executed in the RAM 2 by the CPU 1. In the flowchart, S7000 to S7400 indicate processing steps.
  • FIGs. 9 to 13 are schematic diagrams each illustrating an example of a display screen at the time of the UI displaying process upon add-in installation by the add-in installer 106.
  • the add-in installer 106 displays a start display screen as .
  • step S7000 illustrated in -FIG. 9 onto the display 11 in step S7000.
  • the add-in installer 106 displays a driver type selecting display screen as illustrated in FIG. 1OA onto the display 11 in step S7100 in FIG. 8.
  • the add-in installer 106 displays a display screen as illustrated in FIG. 1OB onto the display 11.
  • the add-in installer 106 adds the printer driver selected in 906 to a list 910 of the printer drivers which are the installation targets of the add-in module. If a "Delete" button 908 is instructed (clicked by the PD 9) in the display screen illustrated in FIG. 1OB, the add-in installer 106 deletes the printer driver selected in 910 from the installation targets.
  • the add-in installer 106 closes the display screen of FIG. 1OB, reflects the contents of the list 910 to the list 901, and returns to the display screen of FIG. 1OA. If a "Cancel" button 911 is instructed (clicked by the PD 9) in the display screen illustrated in FIG. 1OB, the add-in installer 106 closes the display screen of FIG. 1OB and returns to the display screen of FIG. 1OA. If a "Back" button 903 is instructed (clicked by the PD 9) in the display screen illustrated in FIG. 1OA, the add-in installer 106 returns the processing routine to step S7000 in FIG. 8.
  • step S7200 in FIG. 8 the add-in installer 106 displays an installation warning display screen illustrated in FIG. 11 onto the display 11.
  • step S7300 If a "Yes" button 1001 is instructed (clicked by the PD 9) in the display screen of FIG. 11, the add-in installer 106 advances the processing routine to step S7300.
  • step S7300 in FIG. 8 the add-in installer 106 displays a status display screen as illustrated in FIG. 12 onto the display 11 and executes the processes (installing process) shown in the flowchart of FIG. 4. After completion of the installing process shown in FIG. 4, the add-in installer 106 advances the processing routine to step S7400 in FIG. 8.
  • step S7400 in FIG. 8 the add-in installer 106 displays an installation result display screen as illustrated in FIG. 13 onto the display 11, thereby indicating whether or not the add-in installation is successful.
  • the example illustrated in FIG. 13 corresponds to the case where the add-in installation is successful (has been completed) in the processing routine shown in FIG. 4.
  • the add-in installer 106 displays a message showing that the add-in installation has failed onto the installation result display screen.
  • the add-in installer 106 closes the display screen of FIG. 13 and restarts the computer 100.
  • the change of the printer driver 101 performed by the add-in installer 106 is reflected to the computer 100.
  • the application 108, graphic engine 109, printer driver 101, and print service 105 exist as files stored .
  • the application 108 and the printer driver 101 can be added into one of the FD and the CD-ROM of the external memory 12 or into the HD of the external memory 12 through the network 20 (not shown) .
  • the application 108 stored in the external memory 12 is loaded into the RAM 2 and executed by the CPU 1. However, when the application 108 instructs the printer 30 to print, the output (drawing) is executed by using the graphic engine 109 which has similarly been loaded into the RAM 2 and can be executed. ' The graphic engine 109 loads the printer driver
  • the graphic engine 109 converts a GDI (Graphic Device Interface) function received from the application 108 into a DDI (Device Driver Interface) function and outputs to the printer driver 101.
  • GDI Graphic Device Interface
  • DDI Device Driver Interface
  • the printer driver 101 converts the DDI function received from the graphic engine 109 into a control command which can be recognized by the printer, for example, a PDL (Page Description Language) .
  • the converted printer control command is output as print data to the printer 30 through the print service 105 loaded into the RAM 2 by the OS.
  • the print system of the embodiment has an add-in module- processing unit 110 in the printer driver 101.
  • the printer driver 101 calls the add-in module 102 through the add- in module processing unit 110 and executes the process. Details of the calling process of the add-in module 102 will be described with reference to FI ' G. 14.
  • FIG. 14 is a flowchart showing an example of a sixth control processing procedure in the invention and corresponds to the detailed flow for the calling process of the add-in module by the printer driver 101. That is, the processes in this flowchart are realized by a method whereby the program which corresponds to the add-in installer 106 and has been stored in the external memory 12 is executed in the RAM 2 by the CPU 1.
  • S13000 to S13700 indicate processing steps.
  • the printer driver 101 obtains the construction information regarding the printer driver 101 with reference to the printer driver ' file information 104.
  • step S13100 the printer driver • 101 discriminates whether or not the add-in module information file 103 exists.
  • this discriminating step when at least one file information (add-in module file information 111) regarding the add-in module information file 103 is included in the construction information obtained in step S13000, it is determined that the add-in module information file 103 exists. If none of- the add-in module file information 111 is included in the construction information, it is determined that the add-in module information file 103 does not exist.
  • the processing routine of FIG. 7 is executed, the add-in module file information 111 has been registered in ' the printer driver file information 104 in order from the smaller operating order.
  • step S13100 If ' it is determined in step S13100 that the add-in module information file 103 does not exist, the printer driver 101 finishes the processing routine of this flowchart as it is.
  • step S13100 If it is determined in step S13100 that the add-in module information file 103 exists, the printer driver 101 advances the processing routine to step S13200.
  • step S13200 the printer driver 101 discriminates whether or not the reference to all of the add-in module information files registered in the construction information obtained in step S13000 has been finished.
  • step S13200 If it is determined in step S13200 that the reference to all of the add-in module information files 103 is not finished yet, the printer driver 101 advances the processing routine to step S13300.
  • step S13300 the printer driver 101 selects one of the add-in module information files 103 which have been registered in the construction information obtained in step S13000 and are not referred to yet, and refers to the information' in the selected add-in module information file 103.
  • next step S13400 the printer driver 101 discriminates whether or not the information in the add- in module information file has normally been referred to in step S13300.
  • step S13400 If it is determined in step S13400 that the information in the add-in module information file is not normally referred to in step S13300, the printer driver 101 advances the processing routine to step S13500.
  • step S13500 the printer driver 101 regards that this add-in module is not normally operating, that is, the add-in of this add-in module is not performed, and advances the processing routine to step S13700.
  • step S13400 If it is determined in step S13400 that the information in the add-in module information file has normally been referred to in step S13300, the printer driver 101 advances the processing routine to step S13600.
  • step S13600 the printer driver 101 calls the add-in module which has been referred to in step S13300.
  • the printer driver 101 confirms the presence or absence of other add-in modules which are inconvenient to the operation of the target add-in module called in step S13600. If there are the inconvenient add-in modules, precision of the order control can be also raised by displaying a warning display screen onto the display 11. For example, if the module which intends to limit the function is called as a target module, the target module adds a hash value to the data as alteration detection in order to prevent that the function limitation due to the rewriting from the module at the post stage is invalidated.
  • the hash value is a value representing data calculated according to a certain rule. For example, the alteration can be detected by comparing a hash value embedded on the host side with a hash value obtained on the device side.
  • a module such as an encrypted module has been found as a calling module at the post stage in the add-in module information file 103; that is, such an encrypted module that the rewriting is performed by further executing an encryption by using a key serving as an encryption table to the print data.
  • the encrypted module as mentioned above is executed after the hash value as mentioned above was calculated, the hash value which is obtained by the encryption also becomes a different value, so that it is detected that the alteration has been performed. Therefore, a message to stop the printing and uninstall the relevant module, a message to change the order of the encrypted module and the function limiting module including the alteration detection and install, or the like is displayed.
  • step S13600 When the process of step S13600 is finished, the printer driver 101 advances the processing routine to step S13700.
  • step S13700 the printer driver 101 advances the processing routine to the reference to the next add- in module information file and returns the processing routine to step S13200.
  • step S13200 If it is determined in step S13200 that the reference to all of the add-in module information files has been finished, the printer driver 101 finishes the processing routine of this flowchart.
  • the setup control can be made so that the operating order (applying order) of the add-in module to be added and the existing add-in modules constructing the printer driver is made correct.
  • the printer driver- can apply the add-in modules constructing the printer driver to the proper order (order adapted to make the add-in modules operative) and enables the add-in modules to properly operate.
  • FIG. 15 is a block diagram illustrating a constructional example of a print system according to the second embodiment of the invention and the same component elements as those in FIG. 2 are designated by the' same reference numerals.
  • layout information 1401 of a filter' module is provided by a filter construction in the printer driver 101.
  • the layout information 1401 specifies calling order of a filter module 1404.
  • Windows (registered trademark) Vista the filter module layout information file 1401 corresponds to "Filter Configuration File”.
  • the filter module 1404 constructs the printer driver and includes a filter module information file 1405. A data construction of the filter module information file 1405 will now be described with reference to FIG. 16.
  • FIG. 16 is a data constructional diagram showing the data construction of the filter module information file 1405 illustrated in FIG. 15.
  • a file construction of the filter module 1404 has been described in an area 1501. Version information of the filter module 1404 has been described in an area 1502. A release date of the filter module 1404 has been described in an area 1503. Product name information of the filter module 1404 has been described in an area 1504. Detailed information of the filter module 1404 has been described in an area 1505. PriorityNumber (priority number) , that is, the unconditional number which decides the operating order has been described in an area 1506. Copyright information of the filter module 1404 has been described " in an area 1507.
  • the Printer driver file information 104 is one management information for allowing the OS to use the printer driver by using the print service 105. For example, in Windows (registered trademark) , "DependentFiles" in the registry corresponds to the printer driver file information 104.
  • the printer driver 101 can hold zero or one or more filter modules.
  • the filter module 1404 is a file group including program files such as a DLL (Dynamic Link Library) and the like.
  • the filter module 1404 has been installed and the filter module layout information file 1401 has been registered in the printer driver file information 104.
  • Information (for example, filter module information file name) 1402 to specify the filter module information file is included in the filter module layout information file 1401.
  • the information 1402 to specify the filter module information file is included in the filter module layout information file 1401 every filter module (calling order) .
  • a filter add-in installer 1403 is a main device to accomplish the object of the invention and is a program for additionally installing the filter module 1404 into the installed printer driver 101. It is assumed that the filter module file which is additionally installed has been stored in the filter add-in installer 1403 or in another storing area in the external memory 12.
  • the filter add-in installer 1403 mainly has the following functions (1) to ( ⁇ ) .
  • Construction filter module detecting function for detecting one or a plurality of filter modules constructing one or a plurality of printer drivers.
  • Filter module proper operating order discriminating function for discriminating the order of the proper operations of the filter module and one or ' a plurality of filter modules constructing the printer driver (order adapted to make the plurality of filter modules operative) .
  • Filter module layout information changing function for changing filter module layout information according to the above operating order (so that the filter modules operate in the above operating order.
  • File registering function for registering the added additional file into the printer driver file information 104.
  • FIG. 17 is a flowchart showing an example of a 5 seventh control processing procedure in the invention and corresponds to the detailed flow for the process of the filter add-in installer 1403. That is, the processes in this flowchart are realized by a method whereby the program which corresponds to the add-in
  • step S16000 the filter add-in installer 1403 detects the installed filter module with respect to
  • the additional target printer driver of the filter module is a printer driver which has already been installed in the computer 100.
  • step S16000 corresponds to the additional target printer driver of the filter module. It is assumed here that the printer driver 101 in FIG. 15 corresponds to such a driver. Details of the process of step S16000 will be described in FIG. 18.
  • the filter add-in installer 1403 forms filter module order information.
  • filter module order information which holds proper order information (order adapted to make the plurality of filter modules operative) is formed.
  • the filter module order information is formed only when the order in which the filter modules can operate properly (order adapted to make the plurality of filter modules operative) exists.
  • a holding format of the filter module order information although a format such as file format or format in which such information is held in the RAM 2 is not limited, description will be made here on the assumption that such information is held in the RAM 2. .
  • step S16200 the filter add-in installer 1403 discriminates whether or not the filter module order information exists in the RAM 2. If it is determined that the filter module order information does not' exist in the RAM 2, the filter add-in installer 1403 advances a processing routine to step S16400. The filter add-in installer 1403 stops the filter module installing process in step S16400 and finishes the processing routine of this flowchart. If it is determined in step S16200 that the filter module order Information exists in the RAM 2, the filter add-in installer 1403 advances the processing routine to step S16300.
  • FIG. 18 is a flowchart showing an example of an eighth control processing procedure in the invention and corresponds to the detailed flow for the filter module detecting process shown in step S16000. That is, the processes in this flowchart are realized by a method whereby the program which corresponds to the filter add- in installer 1403 and has been stored in the external memory 12 is executed in the RAM 2 by the CPU 1.
  • S17000 to S17600 indicate processing steps.
  • step S17000 the filter add-in installer 1403 obtains the construction information regarding the printer driver 101 with reference to the printer driver file information 104.
  • step S17100 the filter add-in installer 1403 discriminates whether or not the filter module layout information file 1401 exists in the construction information obtained in step S17000.
  • step S17100 If it is determined in step S17100 that the filter module layout information file 1401 does not exist, the filter add-in installer 1403 finishes the processing routine of this flowchart as it is and advances the processing routine to step S16100 in FIG. 17. If it is determined in step S17100 that the filter module layout information file 1401 exists, the filter add-in installer 1403 advances the processing routine to step S17200.
  • step S17200 the filter add-i ⁇ installer 1403 discriminates whether or not the reference to all of the filter module information files 1405 registered in the filter module layout information file 1401 has been finished.
  • step S17200 If it is determined in step S17200 that the reference to all of the filter module information files 1405 is not finished yet, the filter add-in installer 1403 advances the processing routine to step S17300.
  • step S17300 the filter add-in installer 1403 selects one of the filter module information files 1405 which have been registered in the filter module layout information file 1401 and are not referred to yet, and refers to the information in the selected filter module information file 1405.
  • next step S17400 the filter add-in installer 1403 discriminates whether or not the information in the filter module information file 1405 has normally been referred to in step S17300. If it is determined in step S17400 that the information in the filter module information file 1405 is not normally referred to in step S17300, the filter add-in installer 1403 advances the processing routine to step S17500.
  • step S17500 the filter add-in installer 1403 regards that this filter module is not normally operating, that is, it is not installed, and advances the processing routine to step S17600.- If it is determined in step S17400 that the information in the filter module information file 1405 has normally been referred to in step S17300, the filter add-in installer 1403 advances the processing routine to step S17600. In step S17600, the filter add-in installer 1403 advances the processing routine to the reference to the next filter module information file 1405 and returns the processing routine to step S17200.
  • step S17200 If it is determined in step S17200 that the reference to all of the filter module information files 1405 registered in the filter module layout information file 1401 has been finished, the filter add-in installer 140 ' 3 finishes the processing routine of this flowchart and advances the processing routine to step S16100 in- FIG. 17.
  • step S16000 in FIG. 17 the detailed operation of the ' filter- module detecting process shown in step S16000 in FIG. 17 is. executed. If a plurality of printer drivers to which the filter module is added are selected, processes similar to those mentioned above are repeated the number of times corresponding to the number of printer drivers which are selected.
  • FIG. 19 is a flowchart showing an example of a ninth control processing procedure in the invention and corresponds to the detailed flow for the filter module order information forming process shown in step si ⁇ lOO in FIG. 17. That is, the processes in this flowchart are realized by a method whereby the program which corresponds to the filter add-in installer 1403 and has been stored in the external memory 12 is executed in the RAM 2 by the CPU 1.
  • S18000 to S18800 indicate processing steps.
  • step S18000 the filter add-in installer 1403 executes an initializing process such as a process to newly form filter module order information and the like.
  • step S18100 the filter add-in installer 1403 " discriminates whether or not the obtainment of the filter information files of all of the filter modules detected in step S16000 in FIG. 17 and all of the filter modules to be added from now on has been finished for • the addition target printer drivers of the filter modules. That is, the filter installer 1403 discriminates whether or not the forming process of the filter module order information has been completed.
  • step S18100 If it is determined in step S18100 that the obtainment of the filter module information files of all of the filter modules detected in step S16000 in FIG. 17 and all of the filter modules to be added from now on is not finished yet, the filter add-in ' installer 1403 advances the processing routine to step S18200.
  • step S18200 the filter add-in installer 1403 obtains one of the filter module information files 1405 which are not obtained yet among the filter modules detected in step S16000 in FIG. 17 and the filter modules to be added from now on.
  • the filter module corresponding to the obtained filter module information file 1405 is hereinbelow called a "filter module which is highlighted at present".
  • the filter add-in installer 1403 obtains the PriorityNumber 1506 from the filter module information file 1405 obtained in step S18200.
  • the PriorityNumber denotes, for example, an integer of 1 or more and defines the operating order according to a magnitude of a numerical value. By this PriorityNumber, it is also possible to cope with the case where the module has newly been added.
  • step S18400 the file add-in installer 1403 ' compares the Priority-Numbers of the filter modules which have already been written in the filter module order information until this processing step with the PriorityNumber of the filter module which is highlighted at present.
  • the filter add-in installer 1403 determines the order (writing positions into the filter module order information) so as to become the ascending order of the PriorityNumbers .
  • step S18500 the filter add-in installer 1403 discriminates whether or not the PriorityNumbers can be written to the writing positions determined in step S18400. As a case where the PriorityNumbers cannot be written, a case where the PriorityNumbers are the same or a competition of the modules which cannot coexist or the like has occurred is considered.
  • step S18500 If it is determined in step S18500 that the writing is impossible, the filter add-in installer 1403 advances the processing routine to step S18800.
  • step S18800 the filter add-in installer 1403 determines that the proper order (operating order adapted to make operative the filter modules which have previously been added and the filter modules which are added from now on) does not exist, and deletes the filter module order information held in the RAM 2 at present.
  • the filter add-in installer 1403 displays a message to the display 11 in a step (not shown) in order to notify the user that the proper order (order adapted to make the filter modules operative) to which the modules are applied does not exist because PriorityNumbers are the same or such a competition that the modules cannot coexist or the like has occurred.
  • the filter add-in installer 1403 finishes the processing routine of this flowchart and advances the processing routine to step S16200 in FIG. 17.
  • step S18500 If it is determined in step S18500 that the writing is possible, the filter add-in installer 1403 advances the processing routine to step S18600.
  • step S18600 the filter add-in installer ' 1403 writes the name of the filter module which is highlighted at present to the writing position in the filter module order information decided in step S18400-. In the embodiment, the number showing the order and the filter module name are written. Subsequently, in step S18700, the filter add-in installer 1403 advances the processing routine to the next filter module information file and returns the processing routine to step S18100.
  • step S18100 If it is determined in step S18100 that the obtainment of the filter module information files of all of the filter modules detected in step S16000 in FIG. 17 and all of the filter modules to be added from now on has been finished, the filter add-in installer 1403 finishes the processes in this flowchart and advances ' the processing routine to step Sl6200 in FIG. 17.
  • step S16100 in FIG. 17 the detailed operation of the filter module order information forming process shown in step S16100 in FIG. 17 is executed. If a plurality of printer drivers to which the filter module is added are selected, processes similar to those mentioned above are repeated the number of times corresponding to the number of printer drivers which are selected.
  • each filter module holds the
  • the filter module order information can be provided as file information from the outside.
  • the filter module order information is opened as file information on the Web and it is obtained and provided from the Web.
  • the filter module order information may have a text format such as XML or a non-readable binary format and its data format is not limited.
  • FIG. 20 is a flowchart showing an example of a tenth control processing procedure in the invention and corresponds to the detailed flow for the filter module add-in installing process shown in step S16300 in FIG. 17. That is, the processes in this flowchart are realized by a method whereby the program which corresponds to the filter add-in installer 1403 and has been stored in the external memory 12 is executed in the RAM 2 by the CPU 1.
  • S19000 to S19700 indicate processing steps.
  • step S19000 the filter add-in installer 1403 initializes the filter module layout information file 1401 registered in the printer driver file information 104.
  • the information 1402 to specify each filter module information file described in the filter module layout information file 1401 is deleted once.
  • step ' S19100 the filter add-in installer 1403 obtains the filter module order information formed in step S16100.
  • the filter add-in installer 1403 discriminates whether or not the add-in installing process of all of the filter modules written in the filter module order information obtained in step S19100 has been completed. If it is determined in step S19200 that the add-in installing process of all of the filter modules written in the filter module order information obtained in step S19100 is not completed, the filter add-in installer 1403 advances a processing routine to step S19300. In step S19300, the filter add-in installer 1403 obtains one filter module (filter module construction file) from the smaller operating order according to the filter module order information.
  • step S19400 the filter add-in- installer 1403 adds the filter module construction file obtained in step S19300 to a predetermined area in the external memory 12 (storing area in the OS) . It is * assumed that this processing step is executed only to the filter module which is newly additionally installed this time and it is skipped with respect to the filter modules which have previously been added.
  • step S19500 the filter add-in installer 1403 registers the filter module into the printer driver construction information (printer driver file information 104) obtained in step S6400.
  • the filter add-in installer 1403 adds the information 1402 to specify the filter module information file of the added filter module to a termination of the filter construction of the present filter module layout information file.
  • next step S19700 the filter add-in installer 1403 advances the processing routine to the next filter module written in the filter module order information and returns the processing routine to step S19200. If it is determined in step S19200 that the installing process of all of the filter modules written in the filter module order information has been completed, the filter add-in installer 1403 finishes the processes of this flowchart.
  • the new filter module can be registered in such a manner that the filter modules which have previously been added and the filter modules which were newly added can execute the processes in the operating order decided in step S16100 in FIG. 17.
  • filter add-in installer UI is similar to the add-in installer UI in the foregoing first embodiment. It is now assumed that as for the add-in installing process itself, the processes of FIG. 4 are replaced by the processes of FIG. 17.
  • the OS calls the filter module 1404 in the printer driver 101, so that the printing is executed.
  • the printer driver 101 calls the filter module 1404 through the OS and executes the process. Details of the calling process of the filter module will be described with reference to FIG. 21.
  • FIG. 21 is a flowchart showing an example of an eleventh control processing procedure in the invention and corresponds to the detailed flow for the calling process of the filter module by the printer driver 101. That is, the processes in this flowchart are realized by a method whereby the program which corresponds to the add-in installer 106 and has been stored in the external memory 12 is executed in the RAM 2 by the CPU 1.
  • S20000 to S20400 indicate processing steps.
  • step S20000 the printer driver 101 obtains the construction information regarding the printer driver 101 with reference to the printer driver file information 104.
  • step S20100 the printer driver 101 discriminates whether or not the filter module layout information file 1401 exists in the construction information obtained in step S20000.
  • the information 1402 to specify the filter module information file is registered in order from " the smaller operating order by the processes shown in FIG. 20. If it is determined in step S20100 that the filter module layout information file 1401 does not exist, the printer driver 101 finishes the processing routine of this flowchart as it is.
  • step S20100 If it is determined in step S20100 that the filter module layout information file 1401 exists, the printer driver 101 advances the processing routine to step S20200.
  • step S20200 the printer driver 101 discriminates whether or not the calling of all of the filter " modules 1404 registered in the filter module layout information file 1401 has been finished. If it is determined in step S20200 that the calling of all of the filter modules 1404 is not finished yet, the printer driver 101 advances the processing routine to step S20300.
  • step S20300 the printer driver 101 selects one of the filter modules 1404 which have been registered in the filter module layout information file 1401 and are not called yet, and calls the selected filter module 1404.
  • the setup control can be made so that the operating order (applying order) upon printing process of the filter module to be added and the existing filter modules constructing the printer driver is made correct. Therefore, upon execution of the printing process, the printer driver can apply the filter modules constructing the printer driver to the proper order (order adapted to make the ..filter modules operative) and enables the filter modules to properly operate.
  • first and second embodiments have been described with respect to the construction in which when the new module is added to the printer driver, the new module is added in such a manner that the operating order (applying order) at the time of the printing process of the module to be added and the existing modules constructing the printer driver is made correct and the registration state of the existing modules is changed and controlled.
  • the registration of the existing modules can be changed and controlled so that the operating order (applying order) at the time of the printing process of the existing modules is made correct.
  • the target to which the add-in module or the like is added is not limited to the printer driver but any other application program may be used so long as it is an application program to which the add-in module or the like can be added. That is, the invention can be also applied to application control of the module in the installer and application program for adding one or a plurality of add-in modules (filter modules) to one or a plurality of application programs installed into the computer.
  • construction and contents of the foregoing various kinds of data are not limited to those mentioned above but, naturally, they are constructed by various constructions and contents according to the application and object.
  • the invention can have an embodiment as, for example, a system, an apparatus, a method, a program, a storing medium, or the like. Specifically speaking, the invention may be applied to a system constructed by a plurality of apparatuses or to an apparatus constructed by one device.
  • a construction of a memory map in a storing medium which stores various data processing programs which can be read by the information processing apparatus (computer 100) according to the invention will be described hereinbelow with reference to the memory map illustrated in FIG. 22.
  • FIG. 22 is a diagram for describing the memory map in a storing medium (recording medium) for storing various data processing programs which can be read by the information processing apparatus (computer 100) according to the invention.
  • data which depends on the various kinds of programs is also managed in the directory.
  • a program for installing various programs into the computer and, if the program for installing has been compressed, a program for decoding such a program, and the like are stored.
  • the functions shown in FIGS. 4, 5, 6, 7, 8, 14, 17, 18, 19, 20, and 21 in the embodiments may be executed by a host computer according to a program which is installed from the outside.
  • the invention is also applied to a case where an information group including the program is supplied to an output • apparatus by a storing medium such as CD-ROM, flash memory, or FD or from an external storing medium through the network.
  • the object of the invention is accomplished by a method whereby a storing medium in which program codes of software for realizing the functions of the- foregoing embodiments have been recorded as mentioned above is supplied to a system or an apparatus and a computer (or a CPU or an MPU) of the system or apparatus reads out and executes the program codes stored in the storing medium.
  • the program codes themselves read out of the storing medium realize the novel functions of the invention and the storing medium in which the program codes have been stored constructs the invention.
  • a storing medium for supplying the program for example, a flexible disk, a hard disk, an optical disc, a magnetooptic disk, an MO, a CD-ROM, CD-R, CD-RW, a magnetic tape, a non-volatile memory card, a ROM, a DVD, or the like can be used.
  • the program codes themselves read out of the storing medium realize the functions of the embodiments mentioned above and the storing medium in which the program codes have been stored constructs the invention.
  • the program can be also supplied by a method whereby a client computer is connected to a 1 Home page of the Internet by using a browser of the client computer and the program itself of the invention is downloaded from the Home page into a storing medium such as a hard disk.
  • the program can be also supplied by a method whereby a compressed file including an automatic installing function is downloaded from the Home page onto the storing medium such as a hard disk.
  • the program supplying method can be also realized by a method whereby the program codes constructing the program of the invention are divided into a plurality of files and the respective files are downloaded from different Home pages. That is, a WWW server, an FTP server, or the like for allowing a ,. program file to realize the functional processes of the invention by the computer to be downloaded to a plurality of users is also incorporated in the scope of claims of the invention.
  • the program of the invention is encrypted, stored into the storing medium such as a CD-ROM, and distributed to the user. Further, the users who can satisfy predetermined conditions are allowed to download key information for decrypting the encryption from the storing medium such as a CD-ROM, and distributed to the user. Further, the users who can satisfy predetermined conditions are allowed to download key information for decrypting the encryption from the storing medium such as a CD-ROM, and distributed to the user. Further, the users who can satisfy predetermined conditions are allowed to download key information for decrypting the encryption from the
  • the encrypted program is executed by using the key information and installed into the computer and can be realized.
  • the invention incorporates not only a construction in which the computer executes the read-out program codes, so that the functions of the foregoing embodiments are realized, but also the following construction.
  • the OS operating system
  • the OS which is operating on the computer executes a part or all of actual processes based on the instructions of the program codes and the functions of the foregoing embodiments are realized by those processes.
  • the invention incorporates 'a case where the program codes read out of the storing medium are written into a memory provided for a function expanding board inserted into the computer or a function expanding unit connected to the computer, a CPU or the like provided for the function expanding board or the function expanding unit executes a part or all of actual processes based on the instructions of the program codes written in the memory and the functions of the foregoing embodiments are realized by those processes.
  • the invention can be applied to a system constructed by a plurality of apparatuses or may be applied to an apparatus constructed by one device. Naturally, the invention can be also applied to the case where the object of the invention is accomplished by supplying the program to the system or apparatus. In this case, the storing medium in which the program expressed by the software for accomplishing the present invention has been stored is supplied to the system or apparatus and read out, so that the system or apparatus can obtain the effects of the invention.
  • the invention relates to the installer which can add the module to the printer driver installed in the information processing apparatus.
  • the modules which have been installed at present are detected, and the module is installed in consideration of the operating order of the module to be added and the installed modules. Therefore, when the module is added to the printer driver, the setting control can be made so that the operating order of the module to be added and the existing modules constructing the printer driver is made correct.
  • the invention also incorporates the printer driver for making the modules installed in the proper order (order adapted to make the modules operative) operative based on the installing method when executing the printing. Therefore, upon execution of the printing process, the printer driver can properly apply the modules constructing the printer driver and make them operative.
  • the add-in module or the filter module it is possible to construct the flexible new-function providing environment of the printer driver which can add, in the correct operating order, the function which is not presumed at the beginning of the sale of the printing apparatus or the function which the user wants to optionally add.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
PCT/JP2007/057713 2006-03-31 2007-03-30 Information processing apparatus and data output managing system Ceased WO2007114513A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/160,565 US8627343B2 (en) 2006-03-31 2007-03-30 Information processing apparatus and data output managing system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006-100194 2006-03-31
JP2006100194A JP4810282B2 (ja) 2006-03-31 2006-03-31 モジュールインストール方法、モジュールインストール装置、及びプログラム

Publications (1)

Publication Number Publication Date
WO2007114513A1 true WO2007114513A1 (en) 2007-10-11

Family

ID=38563771

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2007/057713 Ceased WO2007114513A1 (en) 2006-03-31 2007-03-30 Information processing apparatus and data output managing system

Country Status (3)

Country Link
US (1) US8627343B2 (enExample)
JP (1) JP4810282B2 (enExample)
WO (1) WO2007114513A1 (enExample)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4619433B2 (ja) * 2007-12-11 2011-01-26 キヤノンItソリューションズ株式会社 印刷制御装置及び印刷制御方法、並びにプログラム
JP5326477B2 (ja) * 2007-12-14 2013-10-30 株式会社リコー 情報処理装置、情報処理プログラム、記録媒体及び情報処理方法
JP5408904B2 (ja) * 2008-05-23 2014-02-05 キヤノン株式会社 情報処理装置、プレビュー方法、及びプログラム
US8479192B2 (en) * 2008-06-27 2013-07-02 Xerox Corporation Dynamic XPS filter
US8643871B2 (en) * 2008-07-22 2014-02-04 Xerox Corporation System and method for controlling printing of a print job in a printing system
JP5069645B2 (ja) * 2008-09-01 2012-11-07 アンリツ株式会社 制御装置及び制御方法
JP5343643B2 (ja) * 2009-03-17 2013-11-13 株式会社リコー プリンタドライバ、記憶媒体、及び情報処理装置
JP5441740B2 (ja) 2009-03-23 2014-03-12 キヤノン株式会社 情報配信装置、情報配信装置の制御方法、及びコンピュータプログラム
JP5446625B2 (ja) * 2009-09-07 2014-03-19 株式会社リコー プリンタドライバ、情報処理装置、およびプリンタドライバを記録したコンピュータ読み取り可能な記録媒体
US9317225B2 (en) * 2011-05-25 2016-04-19 Xerox Corporation Method and apparatus for dynamically configuring a filter pipeline for a print driver
JP5836706B2 (ja) 2011-08-31 2015-12-24 キヤノン株式会社 情報処理装置、文書アクセス方法、及びコンピュータプログラム
JP2014085749A (ja) * 2012-10-22 2014-05-12 Oki Data Corp ドライバインストーラ、画像処理装置、画像形成システム及び画像形成装置
US9821517B2 (en) * 2013-06-26 2017-11-21 Microsoft Technology Licensing, Llc 3D manufacturing platform
JP6500654B2 (ja) * 2015-07-07 2019-04-17 セイコーエプソン株式会社 印刷制御装置、印刷制御プログラムおよび印刷制御方法
JP6861670B2 (ja) * 2018-07-10 2021-04-21 キヤノン株式会社 画像処理装置、その制御方法、及びプログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63268031A (ja) * 1987-04-24 1988-11-04 Sharp Corp プログラム実行制御方式
JP2005208895A (ja) * 2004-01-22 2005-08-04 Canon Inc 情報処理装置及びその制御方法及びそのプログラムと記憶媒体
JP2006085529A (ja) * 2004-09-17 2006-03-30 Canon Inc アプリケーションプログラム、情報処理装置および情報処理方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3055473B2 (ja) 1996-10-16 2000-06-26 日本電気株式会社 ドライバインストール方法
US6418555B2 (en) * 1998-07-21 2002-07-09 Intel Corporation Automatic upgrade of software
US6674767B1 (en) * 1999-10-04 2004-01-06 Microsoft Corporation Flexible system and method for communicating between a broad range of networks and devices
US7218976B2 (en) * 2001-04-27 2007-05-15 Canon Kabushiki Kaisha User interface control apparatus and method
US20030043396A1 (en) * 2001-08-29 2003-03-06 Klosterman Elliot L. Printer driver access interface
US20030090704A1 (en) * 2001-11-15 2003-05-15 Hansen Von L. System and method for configuring a printing device
US7689673B2 (en) * 2002-04-23 2010-03-30 Canon Kabushiki Kaisha Remote creation of printer instances on a workstation
US7146609B2 (en) * 2002-05-17 2006-12-05 Sun Microsystems, Inc. Method, system and article of manufacture for a firmware image
US7853946B2 (en) * 2003-02-28 2010-12-14 Canon Kabushiki Kaisha Information processing apparatus, information processing method, and control program
JP4908731B2 (ja) * 2003-07-31 2012-04-04 キヤノン株式会社 情報処理装置、情報処理方法及び情報処理プログラム
US7522299B2 (en) * 2003-06-30 2009-04-21 Microsoft Corporation System and method for automatic configuration

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63268031A (ja) * 1987-04-24 1988-11-04 Sharp Corp プログラム実行制御方式
JP2005208895A (ja) * 2004-01-22 2005-08-04 Canon Inc 情報処理装置及びその制御方法及びそのプログラムと記憶媒体
JP2006085529A (ja) * 2004-09-17 2006-03-30 Canon Inc アプリケーションプログラム、情報処理装置および情報処理方法

Also Published As

Publication number Publication date
US8627343B2 (en) 2014-01-07
JP4810282B2 (ja) 2011-11-09
US20100235846A1 (en) 2010-09-16
JP2007272763A (ja) 2007-10-18

Similar Documents

Publication Publication Date Title
US8627343B2 (en) Information processing apparatus and data output managing system
JP4863450B2 (ja) デバイスドライバプログラムをカスタマイズするための情報処理装置及びデバイスドライバプログラムのカスタマイズ方法
US6965953B2 (en) Information processing apparatus, method for controlling information processing apparatus, and storage medium storing program for realizing the method
US10558405B2 (en) Information processing apparatus and driver customizing method
US20110252416A1 (en) Non-transitory computer readable medium, device driver setting device, install device, device driver package, method for setting device driver and install method
US9830544B2 (en) Image processing apparatus, control method, and storage medium for executing print processing using a password including selecting a personal identification code type that indicates a purpose for using the password
CN104583932B (zh) 信息处理装置及安装方法
JP2009217331A (ja) 情報処理装置、情報処理装置の制御方法、プログラム、及び、記録媒体
US20140300914A1 (en) Information processing apparatus, method for controlling the same, and recording medium
US20180146110A1 (en) Information processing apparatus, control method, and storage medium
KR20090101767A (ko) 필터를 동적으로 호출 가능한 인쇄방법, 상기 인쇄방법을수행할 수 있는 프로그램이 수록된 기록매체 및 호스트장치
US10671365B2 (en) Information processing apparatus, storage medium, and control method
US9606761B2 (en) Information processing apparatus for controlling an output process and method for the same
US8395787B2 (en) Information processing apparatus having customized driver, method of controlling the same, and medium storing control program
JP5178319B2 (ja) アプリケーションプラットフォーム
US9063813B2 (en) Apparatus, control method, and storage medium
US10019207B2 (en) Information processing apparatus, method of controlling the same, and non-transitory computer-readable medium configured to generate a control job for occupying communication with a peripheral device
US9690521B2 (en) Print control device and recording medium
US20220129212A1 (en) Image forming apparatus capable of preventing phenomenon that printing by schedule setting will not be started due to display of confirmation screen, control method for image forming apparatus, and storage medium
JP6214369B2 (ja) 情報処理装置、プログラム及び制御方法
US10191704B2 (en) Information processing apparatus reading data created by render filter for image formation from storage area and saving the data in temporary storage area
US12112078B2 (en) Information processing apparatus capable of extending print functions and storage medium
JP2006092418A (ja) 情報処理装置、方法および媒体

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 07741149

Country of ref document: EP

Kind code of ref document: A1

DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
WWE Wipo information: entry into national phase

Ref document number: 12160565

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 07741149

Country of ref document: EP

Kind code of ref document: A1

DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)