US20130208298A1 - Information processing apparatus and method for information processing apparatus for executing print driver maintenance operations - Google Patents

Information processing apparatus and method for information processing apparatus for executing print driver maintenance operations Download PDF

Info

Publication number
US20130208298A1
US20130208298A1 US13/759,477 US201313759477A US2013208298A1 US 20130208298 A1 US20130208298 A1 US 20130208298A1 US 201313759477 A US201313759477 A US 201313759477A US 2013208298 A1 US2013208298 A1 US 2013208298A1
Authority
US
United States
Prior art keywords
command
printing apparatus
maintenance command
database
maintenance
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.)
Abandoned
Application number
US13/759,477
Inventor
Hiroaki Morimoto
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
Assigned to CANON KABUSHIKI KAISHA reassignment CANON KABUSHIKI KAISHA ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MORIMOTO, HIROAKI
Publication of US20130208298A1 publication Critical patent/US20130208298A1/en
Priority to US15/048,847 priority Critical patent/US10185520B2/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/1209Improving or facilitating administration, e.g. print management resulting in adapted or bridged legacy communication protocols, e.g. emulation, protocol extension
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0733Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a data processing system embedded in an image processing device, e.g. printer, facsimile, scanner
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR 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/1227Printer definition files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/1237Print job management
    • G06F3/126Job scheduling, e.g. queuing, determine appropriate device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/1284Local printer device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • G06F3/1294Status or feedback related to information exchange

Definitions

  • the present invention relates to a technology for executing a maintenance operation based on next-generation printer driver architecture.
  • a printer driver based on legacy architecture (hereinafter referred to as a legacy driver) has been able to transmit a maintenance command instructing execution of a maintenance operation, such as nozzle cleaning, to a printer as a print job.
  • a maintenance command transmission button is provided on a user interface (hereinafter referred to as a UI), and a maintenance command is transmitted as a print job when the user presses that button.
  • a user interface hereinafter referred to as a UI
  • a maintenance command is transmitted as a print job when the user presses that button.
  • an external application the user selects an arbitrary printer on an external graphical user interface (hereinafter referred to as a GUI), and then when the user presses a button that instructs the maintenance command to be transmitted, a maintenance command is transmitted as a print job.
  • OSes new operating systems
  • PCs personal computers
  • printer drivers and the like need to support the next-generation architecture that is contained in these new OSes.
  • new OSes are likely to include several restrictions, which may prevent conventional maintenance methods from being properly executed with the applications and printer drivers that operate on these OSes.
  • the present invention is directed to an information processing apparatus that properly transmits an instruction to execute a maintenance operation to a printer even with a restriction.
  • an information processing apparatus connected to a printing apparatus includes a database configured to associate and manage a command identifier and a maintenance command, an acquisition unit configured to acquire from the database the maintenance command corresponding to a command identifier designated by an application and acquired via a spooler according to a port monitor that functions based on an expansion file, and a transmission unit configured to transmit the acquired maintenance command to the printing apparatus according to the port monitor that functions based on the expansion file.
  • FIG. 1 is a block diagram illustrating a printing system in which a printing apparatus and an information processing apparatus are connected.
  • FIG. 2 is a block diagram illustrating a module configuration relating to a printer driver based on legacy architecture.
  • FIG. 3 illustrates the flow of maintenance processing performed by a printer driver based on legacy architecture.
  • FIG. 4 is a block diagram illustrating a module configuration relating to a printer driver based on next-generation architecture according to a first exemplary embodiment of the present invention.
  • FIG. 5 illustrates the flow of maintenance processing performed by a printer driver based on next-generation architecture according to the first exemplary embodiment.
  • FIGS. 6A and 6B illustrate examples of a utility application UI screen based on next-generation architecture according to the first exemplary embodiment.
  • FIG. 7 is a flowchart illustrating processing of an application according to the first exemplary embodiment.
  • FIG. 8 is a flowchart illustrating processing based on a port monitor expansion file according to the first exemplary embodiment.
  • FIG. 9 illustrates maintenance command data stored in a database that is utilized by a next-generation driver according to the first exemplary embodiment.
  • FIG. 10 is a flowchart illustrating processing of an application according to a second exemplary embodiment.
  • FIG. 11 is a flowchart illustrating processing based on a port monitor expansion file according to the second exemplary embodiment.
  • FIG. 12 illustrates maintenance command data stored in a database that is utilized by a next-generation driver according to the second exemplary embodiment.
  • FIG. 13 is a flowchart illustrating processing of an application according to a third exemplary embodiment.
  • FIG. 14 is a flowchart illustrating processing based on a port monitor expansion file according to the third exemplary embodiment.
  • FIG. 15 is a flowchart illustrating processing based on a port monitor expansion file according to a fourth exemplary embodiment.
  • FIG. 16 is a flowchart illustrating processing performed by a printing apparatus according to the fourth exemplary embodiment.
  • FIG. 1 is a block diagram illustrating an example of the overall configuration of a printing system configured from an information processing apparatus 110 and a printing apparatus 120 connected to the information processing apparatus 110 .
  • the information processing apparatus 110 includes an input interface (I/F) 111 , a central processing unit (CPU) 112 , a read-only memory (ROM) 113 , an output I/F, an external storage device 115 , a random access memory (RAM) 116 , an input device 117 , an output device 118 , and an input/output I/F 119 .
  • the ROM 113 stores an initialization program.
  • the external storage device 115 stores programs such as an operating system (OS), printer drivers, and applications.
  • the RAM 116 is used as a work memory by various programs stored in the external storage device 115 .
  • the input device 117 is configured as, for example, a mouse, a keyboard, and a touch panel.
  • the input device 117 which is used to input data or operation instructions, is connected to the input I/F 111 .
  • the output device 118 which is used to display data or issue a status notification, is connected to the output I/F 114 .
  • the printing apparatus 120 is configured from a RAM 121 , a ROM 122 , a printer engine 123 , a CPU 124 , and an input/output I/F 125 .
  • the information processing apparatus 110 and the printing apparatus 120 are connected by a Universal Serial Bus (USB) cable 130 .
  • the RAM 121 is used as a work memory for the CPU 124 , and as a temporary storage buffer for received data.
  • the ROM 122 stores control commands.
  • the printer engine 123 performs printing based on the data stored in the RAM 121 .
  • the CPU 124 controls the printing apparatus 120 according to the control commands stored in the ROM 122 .
  • processing load of the information processing apparatus 110 and the printing apparatus 120 is illustrated as described above, the processing load is not limited to the above-described mode.
  • a legacy driver which is a conventional printing system
  • the flow of maintenance execution processing executed on that architecture will be described with reference to FIGS. 2 and 3 .
  • FIG. 2 schematically illustrates a module configuration relating to the legacy driver, which is a conventional printing system and can be applied in the information processing apparatus 110 .
  • Print setting information returned from a UI module 211 via an OS print support function 202 is added to the print data created by an application 201 , and the resultant data is temporarily stored in a print queue 204 of a spooler 203 as spool data 205 .
  • the spool data 205 is converted into a print command that can be interpreted by a printing device 207 (which has the same configuration as the printing apparatus 120 ) by a legacy driver 210 , and the converted data is then output to a USB port monitor 206 .
  • the legacy driver 210 is configured from modules including the above-described UI module 211 , as well as a below-described graphics driver 213 and a language monitor 214 .
  • the USB port monitor 206 transmits the input print data to the printing device 207 .
  • the UI module 211 can have a maintenance processing instruction unit 212 for issuing a maintenance operation instruction to the printing device 207 .
  • the user transmits the maintenance operation instruction to the printing device 207 by selecting a maintenance operation from a UI screen provided by the UI module 211 .
  • FIG. 3 illustrates the flow of maintenance processing performed by a legacy driver.
  • a maintenance processing instruction unit 301 (the maintenance processing instruction unit 212 in FIG. 2 ) included in the UI module 211 generates a maintenance command that can be interpreted by a printing device 308 according to an instruction from the user, and transmits the generated maintenance command to a spooler 302 .
  • the spooler 302 temporarily stores the receive maintenance command in a print queue 303 as spool data 304 .
  • the spool data 304 is output to a USB port monitor 307 via a graphics driver 305 and a language monitor 306 .
  • the maintenance command is in a format that already allows the maintenance command to be interpreted by the printing device when being input into the graphics driver 305 . Consequently, the graphics driver 305 does not need to perform the above-described conversion processing on the input maintenance command.
  • the maintenance processing instruction unit 301 sets information indicating that execution of the above-described conversion processing is unnecessary in the job to be transferred to the spooler 302 according to the maintenance command issuance processing. Based on that information, the graphics driver 305 performs control so that a conversion operation is not executed. Subsequently, the USB port monitor 307 executes the maintenance operation by transmitting the input maintenance command to the printing apparatus 308 .
  • a first exemplary embodiment according to the present invention will now be described with reference to FIGS. 4 to 9 .
  • the present exemplary embodiment will be described using an example in which a database used by a printer driver based on below-described next-generation architecture (hereinafter referred to as a next-generation driver) stores a maintenance command group for one model.
  • a printer driver based on below-described next-generation architecture
  • FIG. 4 schematically illustrates a configuration relating to the next-generation driver, which is a printing system that has a different configuration from that of a legacy driver, which can be applied in the information processing apparatus 110 .
  • FIG. 4 illustrates in detail an example of a module configuration in which programs such as an application, a printer driver, and an OS are operated as the main subject of various functions provided when executed by the CPU.
  • Print data created by an application 401 is temporarily stored in a print queue 404 in a spooler 403 as spool data 405 via an OS print support function 402 .
  • the spool data 205 is converted by a graphics driver 411 into a print command that can be interpreted by the printing apparatus 120 .
  • the database 412 utilized by the next-generation driver can be referred to by the graphics driver 411 and a below-described port monitor.
  • the database 412 can store various information that varies depending on the printing apparatus model and maintenance commands.
  • the graphics driver 411 acquires, from the database 412 utilized by the next-generation driver, the model-dependent information that will be necessary when generating a print command.
  • a file group 410 forms the next-generation driver.
  • the graphics driver 411 When the graphics driver 411 receives a print request from a common application, the graphics driver 411 acquires from the database 412 an image processing parameter specific to the printing apparatus that is to perform the printing, and generates a print command. The generated print command travels via a USB port monitor 406 to the printing apparatus 407 . Printing processing in a printing system that includes the next-generation driver is thus realized.
  • the printing apparatus vendor provides a next-generation driver installer program for collectively installing the above-described graphics driver 411 , a port monitor expansion file 413 , and management information like that described below with reference to FIGS. 9 and 12 . Consequently, the below-described processing by a USB port monitor and print control based on the next-generation driver can be realized on next-generation architecture.
  • the port monitor expansion file 413 is described in the present exemplary embodiment as a file prepared for the USB port monitor 406 .
  • the processing that is characteristic to the exemplary embodiments of the present invention described below can also be realized by preparing an expansion file for expanding the same functions in order to perform port monitoring for the communication with the printing apparatus in another connection mode.
  • the constituent elements of the next-generation driver for a new OS (e.g., Windows 8 (registered trademark)) envisaged by the present invention do not include the UI module 211 included in the constituent elements of a legacy driver.
  • the next-generation driver cannot have a GUI for performing various settings such as a print setting.
  • a GUI for performing various settings can be provided by an external application (hereinafter referred to as a next-generation application) that is supported by the below-described next-generation driver.
  • the next-generation application and the next-generation driver are linked by information that identifies the driver.
  • FIG. 5 illustrates the flow of maintenance processing realized in the printing system illustrated in FIG. 4 .
  • a next-generation application 501 transmits a command identifier (ID) indicating a desired maintenance operation for a printing apparatus to a spooler 502 .
  • the spooler 502 directly transfers the received command ID to a USB port monitor 504 (hereinafter referred to as a port monitor 504 ) without storing the command ID in a print queue 503 .
  • the port monitor 504 transfers the command ID to a port monitor expansion file 505 .
  • the port monitor expansion file 505 is a script file for expanding OS functions that is described in JavaScript (registered trademark).
  • the port monitor expansion file 505 acquires a maintenance command corresponding to the received command ID by referring to a database 506 utilized by the next-generation driver. Then, the port monitor expansion file 505 instructs the port monitor 504 to transmit the acquired maintenance command to a printing apparatus 507 .
  • the spooler In legacy architecture, as illustrated in FIG. 3 , the spooler handles the maintenance command as a print job. On the other hand, in next-generation architecture, handling by the spooler 403 of the maintenance command as a print job is restricted, so that the same configuration as that in legacy architecture cannot be employed. Consequently, the processing illustrated in FIG. 5 has to be employed as a substitute method.
  • FIGS. 6A and 6B illustrate examples of a UI screen configuration of the next-generation application 501 for issuing a maintenance processing instruction to the printing apparatus 120 .
  • This application collectively provides, for example, a status display of the printing apparatus 120 and an application link (shortcut) for performing a printing related setting. Further, this application may also be provided as an application bundled with the OS.
  • FIG. 6A illustrates a main screen 610 that is displayed immediately after the next-generation application 501 starts.
  • the main screen 610 includes a link button 611 to a status display screen, a link button 612 to a utility function display screen, and a link button 613 to a manual display screen.
  • the next-generation application 501 displays the screen selected by the user.
  • FIG. 6B illustrates a screen configuration of a utility function selection screen 620 that is displayed after the link button 612 is selected on the screen in FIG. 6A .
  • Instruction buttons for maintenance processing such as a nozzle cleaning button 621 , a roller cleaning button 622 , and an ink wiping button 622 , are arranged on the screen 620 .
  • an instruction to execute that maintenance process is transmitted to the printing apparatus 507 .
  • FIG. 7 is a flowchart illustrating transmission processing of a command ID performed by the next-generation application 501 .
  • step S 701 When the processing is started, in step S 701 , an input is received from the user via the screen 620 for selecting the above-described utility function.
  • step S 702 the next-generation application 501 acquires the command ID corresponding to the maintenance command designated by the user, which has been specified based on the input information.
  • step S 703 the acquired command ID is transferred to the spooler 502 , and the processing is finished.
  • FIG. 8 is a flowchart illustrating transmission processing of a maintenance command performed by the port monitor 504 that operates based on the port monitor expansion file 505 .
  • the port monitor 504 which is a module provided by the OS, for example, executes a specific process like that illustrated in FIG. 8 by using the port monitor expansion file 505 provided by the vendor of the printing apparatus along with the next-generation driver.
  • step S 801 the port monitor 504 acquires the command ID via the spooler 502 .
  • step S 802 based on the port monitor expansion file 505 , the port monitor 504 refers to the database 506 utilized by the next-generation driver, and acquires the maintenance command corresponding to the acquired command ID.
  • step S 804 based on the port monitor expansion file 505 , the port monitor 504 controls transmission of the acquired maintenance command to the printing apparatus 507 , and then finishes the processing.
  • FIG. 9 schematically illustrates maintenance command data stored in the database 506 that is utilized by the next-generation driver.
  • Each piece of maintenance command data 901 is associated with one command ID 902 , and stored in the database 506 .
  • the processing for specifying the maintenance command to be transmitted based on the command ID by referring to the database 506 is described.
  • the information to be associated with the maintenance command data 901 and the command ID 902 is provided by the vendor of the printing apparatus. Further, in addition to an integer value, a character string can also be used as the command ID.
  • the maintenance command itself is not directly described even if the content of the port monitor expansion file is viewed.
  • the maintenance command is described in the database 506 . This enables a greater improvement in the security of the commands themselves than if a maintenance command is stored in a port monitor expansion file, which is a text file.
  • FIGS. 10 to 12 A second exemplary embodiment according to the present invention will now be described with reference to FIGS. 10 to 12 .
  • the processing performed when maintenance command data corresponding to each of a plurality of models is managed by the database 506 utilizing a next-generation driver will be described.
  • the configuration and processing flow are the same as those described with reference to FIGS. 4 and 5 in the first exemplary embodiment.
  • FIG. 10 is a flowchart illustrating command ID and model ID transmission processing performed by the next-generation application 501 according to the second exemplary embodiment.
  • step S 1001 an input is received from the user via the screen 620 for selecting the above-described utility function.
  • step S 1002 the next-generation application 501 acquires the command ID corresponding to the maintenance command designated by the user, which has been specified based on the input information.
  • step S 1003 the next-generation application 501 transmits a request to the printing apparatus 120 connected to the information processing apparatus 110 , and acquires the model ID specifying the model from the printing apparatus 120 .
  • step S 1004 the acquired command ID and model ID are transferred to the spooler 502 , and the processing is finished.
  • the next-generation application 501 acquires, in addition to the command ID, the model ID from the printing apparatus.
  • the processing order for acquiring the command ID and acquiring the model ID with the next-generation application 501 may be such that either of these is performed first.
  • the model ID acquisition may also be realized by the user manually inputting the model ID.
  • FIG. 11 is a flowchart illustrating transmission processing of a maintenance command performed by the port monitor 504 that operates based on the port monitor expansion file 505 according to the second exemplary embodiment.
  • step S 1101 the port monitor 504 acquires the command ID and the model ID via the spooler 502 .
  • step S 1102 based on the port monitor expansion file 505 , the port monitor 504 refers to the database 506 , and acquires the maintenance command corresponding to the acquired command ID and the model ID.
  • step S 1104 based on the port monitor expansion file 505 , the port monitor 504 controls transmission of the acquired maintenance command to the printing apparatus 507 , and then finishes the processing.
  • FIG. 12 schematically illustrates maintenance command data for a plurality of models stored in the database 506 that is utilized by the next-generation driver.
  • Each piece of maintenance command data 1201 is associated with one model ID 1202 and one command ID 1203 , and stored in the database 506 .
  • the port monitor expansion file 505 the processing for specifying the maintenance command to be transmitted according to the model ID and the command ID by referring to the database 506 is described.
  • the information to be associated with the maintenance command data, the model ID, and the command ID is provided by the vendor of the printing apparatus. Further, an integer value or a character string can be arbitrarily used as the model ID and the command ID.
  • FIG. 12 illustrates the fact that a maintenance operation is not supported by some model by leaving the relevant entry blank.
  • FIG. 12 illustrates that the model corresponding to model ID “B” does not support the maintenance command represented by command ID “ 3 ” by leaving the entry in this column blank.
  • FIG. 12 indicates that a command is not supported by leaving the entry blank, this can also be indicated using reserved characters, such as “None” for example.
  • an instruction to execute a maintenance operation can be properly transmitted to the printing apparatus even in an OS environment that is subject to a restriction which prevents a command ID from being transmitted as a print job.
  • a third exemplary embodiment according to the present invention will now be described with reference to FIGS. 13 and 14 .
  • the present exemplary embodiment is an expansion of the second exemplary embodiment, with the configuration and the processing content being almost the same. The difference is that a determination is made regarding whether the maintenance command data stored in the database 506 corresponds to a plurality of models, and the subsequent processing is changed depending on that determination.
  • FIG. 13 is a flowchart illustrating transmission processing of the command ID and model ID performed by the next-generation application 501 according to the third exemplary embodiment. Processing that is the same as illustrated FIG. 10 is denoted with the same reference numerals, and a description of that processing will be omitted here.
  • step S 1301 the next-generation application 501 determines whether the database 506 supports a plurality of models. This determination is made by storing, in advance in the database 506 , information regarding whether maintenance command data for a plurality of models is stored, and having the application refer to that information. If it is determined in step S 1301 that the database 506 supports a plurality of models (YES in step S 1301 ), the processing proceeds to step S 1003 . Then, in step S 1302 , the information (the command ID only, or the command ID and model ID) is transferred to the spooler 502 , and the processing is finished.
  • the information the command ID only, or the command ID and model ID
  • the determination performed in step S 1301 is not limited to this example.
  • the determination may also be performed by providing the information about the plurality of models with a naming convention in the database 506 , and performing the determination according to file names.
  • FIG. 14 is a flowchart illustrating maintenance command transmission processing performed by the port monitor 504 that operates based on the port monitor expansion file 505 according to the third exemplary embodiment.
  • step S 1401 the port monitor 504 acquires the command ID via the spooler 502 .
  • step S 1402 the port monitor 504 determines whether a model ID has been acquired via the spooler 502 . If it is determined that a model ID has been acquired (YES in step S 1402 ), then in step S 1403 , based on the port monitor expansion file 505 , the port monitor 504 refers to the database 506 , and acquires the maintenance command corresponding to the acquired command ID and the model ID.
  • step S 1402 determines whether a model ID has been acquired (NO in step S 1402 ) has been acquired (NO in step S 1402 ).
  • step S 1404 the port monitor 504 , based on the port monitor expansion file 505 , refers to the database 506 and acquires the corresponding maintenance command only according to the command ID.
  • step S 1405 based on the port monitor expansion file 505 , the port monitor 504 controls transmission of the acquired maintenance command to the printing apparatus 507 , and then finishes the processing.
  • a fourth exemplary embodiment according to the present invention will now be described with reference to FIGS. 15 and 16 .
  • the present exemplary embodiment relates to, in maintenance execution processing, processing that is performed when the port monitor 504 fails to acquire a maintenance command from the database 506 .
  • the next-generation driver does not have a GUI screen display function, the user cannot be notified that the maintenance command fails to be acquired in response to an input by the user of a maintenance execution instruction via the screen 620 for selecting the above-described utility function.
  • exception processing that considers this point will be described in detail.
  • FIG. 15 is a flowchart illustrating maintenance command transmission processing performed by the port monitor 504 that operates based on the port monitor expansion file 505 according to the fourth exemplary embodiment.
  • step S 1501 the port monitor 504 executes processing to acquire a maintenance command from the database 506 . Specifically, the port monitor 504 executes the processing described in one of the above first to third exemplary embodiments.
  • step S 1502 the port monitor 504 determines whether a maintenance command has been acquired. If it is determined that a maintenance command has been acquired (YES in step S 1502 ), the processing proceeds to step S 1503 . If it is determined that a maintenance command has not been acquired (NO in step S 1502 ), the processing proceeds to step S 1504 .
  • step S 1503 the port monitor 504 stores the acquired maintenance command in a transmission buffer.
  • step S 1504 instead of a maintenance command, the port monitor 504 stores error occurrence data in the transmission buffer. Then, in step S 1505 , the port monitor 504 controls transmission of the information in the buffer to the printing apparatus 507 , and then finishes the processing.
  • FIG. 16 is a flowchart illustrating operation of the printing apparatus 120 that received the data transmitted from the port monitor 504 in FIG. 15 .
  • step S 1601 the printing apparatus 120 receives the data transmitted from the port monitor 504 .
  • step S 1602 the printing apparatus 120 determines whether the received data is error occurrence data. If it is determined that the received data is error occurrence data (YES in step S 1602 ), the processing proceeds to step S 1603 . If it is determined that the received data is not error occurrence data (NO in step S 1602 ), the processing proceeds to step S 1605 .
  • step S 1603 the printing apparatus 507 transitions to an error state according to the error occurrence data.
  • the fact that an error has occurred in the printing apparatus is notified to the user by an error output via an operation unit in the printing apparatus or a network. Errors according to specific error occurrence data may also be notified by issuing a message that maintenance execution failed.
  • step S 1604 the error processing continues until the error state is resolved.
  • An example of a way to resolve the error state is to provide an error resolution button in the printing apparatus 507 , so that error state of the printing apparatus 507 is resolved when the user presses the button.
  • step S 1605 the printing apparatus 507 executes processing according to the received data. In this example, an operation is executed according to the maintenance command data. After this, the processing is finished.
  • the user when maintenance cannot be executed due to reasons such as failure to acquire a maintenance command, the user can be notified of that error even when utilizing the next-generation driver that does not have the above-described UI module.
  • aspects of the present invention can also be realized by a computer of a system or apparatus (or devices such as a CPU or MPU) that reads out and executes a program recorded on a memory device to perform the functions of the above-described embodiment(s), and by a method, the steps of which are performed by a computer of a system or apparatus by, for example, reading out and executing a program recorded on a memory device to perform the functions of the above-described embodiment(s).
  • the program is provided to the computer for example via a network or from a recording medium of various types serving as the memory device (e.g., computer-readable medium).

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

An information processing apparatus connected to a printing apparatus includes a database configured to associate and manage a command identifier and a maintenance command, an acquisition unit configured to acquire from the database the maintenance command corresponding to a command identifier designated by an application and acquired via a spooler according to a port monitor that functions based on an expansion file, and a transmission unit configured to transmit the acquired maintenance command to the printing apparatus according to the port monitor that functions based on the expansion file.

Description

    BACKGROUND OF THE INVENTION
  • 1. Field of the Invention
  • The present invention relates to a technology for executing a maintenance operation based on next-generation printer driver architecture.
  • 2. Description of the Related Art
  • Conventionally, as discussed in Japanese Patent Application Laid-Open No. 2006-12037, a printer driver based on legacy architecture (hereinafter referred to as a legacy driver) has been able to transmit a maintenance command instructing execution of a maintenance operation, such as nozzle cleaning, to a printer as a print job.
  • For a legacy driver, a maintenance command transmission button is provided on a user interface (hereinafter referred to as a UI), and a maintenance command is transmitted as a print job when the user presses that button. Alternatively, when an external application is utilized, the user selects an arbitrary printer on an external graphical user interface (hereinafter referred to as a GUI), and then when the user presses a button that instructs the maintenance command to be transmitted, a maintenance command is transmitted as a print job.
  • Recently, new operating systems (hereinafter referred to as OSes) have been developed that also handle mobile personal computers (PCs) in addition to desktop PCs. Applications, printer drivers, and the like need to support the next-generation architecture that is contained in these new OSes. Naturally, such new OSes are likely to include several restrictions, which may prevent conventional maintenance methods from being properly executed with the applications and printer drivers that operate on these OSes.
  • SUMMARY OF THE INVENTION
  • The present invention is directed to an information processing apparatus that properly transmits an instruction to execute a maintenance operation to a printer even with a restriction.
  • According to an aspect of the present invention, an information processing apparatus connected to a printing apparatus includes a database configured to associate and manage a command identifier and a maintenance command, an acquisition unit configured to acquire from the database the maintenance command corresponding to a command identifier designated by an application and acquired via a spooler according to a port monitor that functions based on an expansion file, and a transmission unit configured to transmit the acquired maintenance command to the printing apparatus according to the port monitor that functions based on the expansion file.
  • Further features and aspects of the present invention will become apparent from the following detailed description of exemplary embodiments with reference to the attached drawings.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate exemplary embodiments, features, and aspects of the invention and, together with the description, serve to explain the principles of the invention.
  • FIG. 1 is a block diagram illustrating a printing system in which a printing apparatus and an information processing apparatus are connected.
  • FIG. 2 is a block diagram illustrating a module configuration relating to a printer driver based on legacy architecture.
  • FIG. 3 illustrates the flow of maintenance processing performed by a printer driver based on legacy architecture.
  • FIG. 4 is a block diagram illustrating a module configuration relating to a printer driver based on next-generation architecture according to a first exemplary embodiment of the present invention.
  • FIG. 5 illustrates the flow of maintenance processing performed by a printer driver based on next-generation architecture according to the first exemplary embodiment.
  • FIGS. 6A and 6B illustrate examples of a utility application UI screen based on next-generation architecture according to the first exemplary embodiment.
  • FIG. 7 is a flowchart illustrating processing of an application according to the first exemplary embodiment.
  • FIG. 8 is a flowchart illustrating processing based on a port monitor expansion file according to the first exemplary embodiment.
  • FIG. 9 illustrates maintenance command data stored in a database that is utilized by a next-generation driver according to the first exemplary embodiment.
  • FIG. 10 is a flowchart illustrating processing of an application according to a second exemplary embodiment.
  • FIG. 11 is a flowchart illustrating processing based on a port monitor expansion file according to the second exemplary embodiment.
  • FIG. 12 illustrates maintenance command data stored in a database that is utilized by a next-generation driver according to the second exemplary embodiment.
  • FIG. 13 is a flowchart illustrating processing of an application according to a third exemplary embodiment.
  • FIG. 14 is a flowchart illustrating processing based on a port monitor expansion file according to the third exemplary embodiment.
  • FIG. 15 is a flowchart illustrating processing based on a port monitor expansion file according to a fourth exemplary embodiment.
  • FIG. 16 is a flowchart illustrating processing performed by a printing apparatus according to the fourth exemplary embodiment.
  • DESCRIPTION OF THE EMBODIMENTS
  • Various exemplary embodiments, features, and aspects of the invention will be described in detail below with reference to the drawings.
  • FIG. 1 is a block diagram illustrating an example of the overall configuration of a printing system configured from an information processing apparatus 110 and a printing apparatus 120 connected to the information processing apparatus 110. The information processing apparatus 110 includes an input interface (I/F) 111, a central processing unit (CPU) 112, a read-only memory (ROM) 113, an output I/F, an external storage device 115, a random access memory (RAM) 116, an input device 117, an output device 118, and an input/output I/F 119. The ROM 113 stores an initialization program. The external storage device 115 stores programs such as an operating system (OS), printer drivers, and applications. The RAM 116 is used as a work memory by various programs stored in the external storage device 115. The input device 117 is configured as, for example, a mouse, a keyboard, and a touch panel. The input device 117, which is used to input data or operation instructions, is connected to the input I/F 111. The output device 118, which is used to display data or issue a status notification, is connected to the output I/F 114.
  • The printing apparatus 120 is configured from a RAM 121, a ROM 122, a printer engine 123, a CPU 124, and an input/output I/F 125. The information processing apparatus 110 and the printing apparatus 120 are connected by a Universal Serial Bus (USB) cable 130. The RAM 121 is used as a work memory for the CPU 124, and as a temporary storage buffer for received data. The ROM 122 stores control commands. The printer engine 123 performs printing based on the data stored in the RAM 121. The CPU 124 controls the printing apparatus 120 according to the control commands stored in the ROM 122.
  • In the present exemplary embodiment, although the processing load of the information processing apparatus 110 and the printing apparatus 120 is illustrated as described above, the processing load is not limited to the above-described mode.
  • Next, the flow of print data using a printer driver that is based on legacy architecture (hereinafter referred to as a legacy driver), which is a conventional printing system, and the flow of maintenance execution processing executed on that architecture, will be described with reference to FIGS. 2 and 3.
  • FIG. 2 schematically illustrates a module configuration relating to the legacy driver, which is a conventional printing system and can be applied in the information processing apparatus 110.
  • Print setting information returned from a UI module 211 via an OS print support function 202 is added to the print data created by an application 201, and the resultant data is temporarily stored in a print queue 204 of a spooler 203 as spool data 205. The spool data 205 is converted into a print command that can be interpreted by a printing device 207 (which has the same configuration as the printing apparatus 120) by a legacy driver 210, and the converted data is then output to a USB port monitor 206. The legacy driver 210 is configured from modules including the above-described UI module 211, as well as a below-described graphics driver 213 and a language monitor 214. The USB port monitor 206 transmits the input print data to the printing device 207. The UI module 211 can have a maintenance processing instruction unit 212 for issuing a maintenance operation instruction to the printing device 207. The user transmits the maintenance operation instruction to the printing device 207 by selecting a maintenance operation from a UI screen provided by the UI module 211.
  • FIG. 3 illustrates the flow of maintenance processing performed by a legacy driver.
  • A maintenance processing instruction unit 301 (the maintenance processing instruction unit 212 in FIG. 2) included in the UI module 211 generates a maintenance command that can be interpreted by a printing device 308 according to an instruction from the user, and transmits the generated maintenance command to a spooler 302. The spooler 302 temporarily stores the receive maintenance command in a print queue 303 as spool data 304. The spool data 304 is output to a USB port monitor 307 via a graphics driver 305 and a language monitor 306. The maintenance command is in a format that already allows the maintenance command to be interpreted by the printing device when being input into the graphics driver 305. Consequently, the graphics driver 305 does not need to perform the above-described conversion processing on the input maintenance command.
  • The maintenance processing instruction unit 301 sets information indicating that execution of the above-described conversion processing is unnecessary in the job to be transferred to the spooler 302 according to the maintenance command issuance processing. Based on that information, the graphics driver 305 performs control so that a conversion operation is not executed. Subsequently, the USB port monitor 307 executes the maintenance operation by transmitting the input maintenance command to the printing apparatus 308.
  • A first exemplary embodiment according to the present invention will now be described with reference to FIGS. 4 to 9. The present exemplary embodiment will be described using an example in which a database used by a printer driver based on below-described next-generation architecture (hereinafter referred to as a next-generation driver) stores a maintenance command group for one model.
  • FIG. 4 schematically illustrates a configuration relating to the next-generation driver, which is a printing system that has a different configuration from that of a legacy driver, which can be applied in the information processing apparatus 110. FIG. 4 illustrates in detail an example of a module configuration in which programs such as an application, a printer driver, and an OS are operated as the main subject of various functions provided when executed by the CPU.
  • Print data created by an application 401 is temporarily stored in a print queue 404 in a spooler 403 as spool data 405 via an OS print support function 402. The spool data 205 is converted by a graphics driver 411 into a print command that can be interpreted by the printing apparatus 120.
  • The database 412 utilized by the next-generation driver can be referred to by the graphics driver 411 and a below-described port monitor. The database 412 can store various information that varies depending on the printing apparatus model and maintenance commands.
  • The graphics driver 411 acquires, from the database 412 utilized by the next-generation driver, the model-dependent information that will be necessary when generating a print command. A file group 410 forms the next-generation driver.
  • When the graphics driver 411 receives a print request from a common application, the graphics driver 411 acquires from the database 412 an image processing parameter specific to the printing apparatus that is to perform the printing, and generates a print command. The generated print command travels via a USB port monitor 406 to the printing apparatus 407. Printing processing in a printing system that includes the next-generation driver is thus realized.
  • The printing apparatus vendor provides a next-generation driver installer program for collectively installing the above-described graphics driver 411, a port monitor expansion file 413, and management information like that described below with reference to FIGS. 9 and 12. Consequently, the below-described processing by a USB port monitor and print control based on the next-generation driver can be realized on next-generation architecture.
  • The port monitor expansion file 413 is described in the present exemplary embodiment as a file prepared for the USB port monitor 406. However, the processing that is characteristic to the exemplary embodiments of the present invention described below can also be realized by preparing an expansion file for expanding the same functions in order to perform port monitoring for the communication with the printing apparatus in another connection mode.
  • The constituent elements of the next-generation driver for a new OS (e.g., Windows 8 (registered trademark)) envisaged by the present invention do not include the UI module 211 included in the constituent elements of a legacy driver. Specifically, the next-generation driver cannot have a GUI for performing various settings such as a print setting. However, a GUI for performing various settings can be provided by an external application (hereinafter referred to as a next-generation application) that is supported by the below-described next-generation driver. The next-generation application and the next-generation driver are linked by information that identifies the driver.
  • FIG. 5 illustrates the flow of maintenance processing realized in the printing system illustrated in FIG. 4.
  • A next-generation application 501 transmits a command identifier (ID) indicating a desired maintenance operation for a printing apparatus to a spooler 502. The spooler 502 directly transfers the received command ID to a USB port monitor 504 (hereinafter referred to as a port monitor 504) without storing the command ID in a print queue 503. Then, the port monitor 504 transfers the command ID to a port monitor expansion file 505.
  • The port monitor expansion file 505 is a script file for expanding OS functions that is described in JavaScript (registered trademark).
  • The port monitor expansion file 505 acquires a maintenance command corresponding to the received command ID by referring to a database 506 utilized by the next-generation driver. Then, the port monitor expansion file 505 instructs the port monitor 504 to transmit the acquired maintenance command to a printing apparatus 507.
  • In legacy architecture, as illustrated in FIG. 3, the spooler handles the maintenance command as a print job. On the other hand, in next-generation architecture, handling by the spooler 403 of the maintenance command as a print job is restricted, so that the same configuration as that in legacy architecture cannot be employed. Consequently, the processing illustrated in FIG. 5 has to be employed as a substitute method.
  • FIGS. 6A and 6B illustrate examples of a UI screen configuration of the next-generation application 501 for issuing a maintenance processing instruction to the printing apparatus 120. This application collectively provides, for example, a status display of the printing apparatus 120 and an application link (shortcut) for performing a printing related setting. Further, this application may also be provided as an application bundled with the OS.
  • FIG. 6A illustrates a main screen 610 that is displayed immediately after the next-generation application 501 starts. The main screen 610 includes a link button 611 to a status display screen, a link button 612 to a utility function display screen, and a link button 613 to a manual display screen. When the user selects a link button to the desired screen, the next-generation application 501 displays the screen selected by the user.
  • FIG. 6B illustrates a screen configuration of a utility function selection screen 620 that is displayed after the link button 612 is selected on the screen in FIG. 6A. Instruction buttons for maintenance processing, such as a nozzle cleaning button 621, a roller cleaning button 622, and an ink wiping button 622, are arranged on the screen 620. When the user selects a button relating to the maintenance desired to be executed, an instruction to execute that maintenance process is transmitted to the printing apparatus 507.
  • FIG. 7 is a flowchart illustrating transmission processing of a command ID performed by the next-generation application 501.
  • When the processing is started, in step S701, an input is received from the user via the screen 620 for selecting the above-described utility function. In step S702, the next-generation application 501 acquires the command ID corresponding to the maintenance command designated by the user, which has been specified based on the input information. In step S703, the acquired command ID is transferred to the spooler 502, and the processing is finished.
  • FIG. 8 is a flowchart illustrating transmission processing of a maintenance command performed by the port monitor 504 that operates based on the port monitor expansion file 505. The port monitor 504, which is a module provided by the OS, for example, executes a specific process like that illustrated in FIG. 8 by using the port monitor expansion file 505 provided by the vendor of the printing apparatus along with the next-generation driver.
  • In step S801, the port monitor 504 acquires the command ID via the spooler 502. In step S802, based on the port monitor expansion file 505, the port monitor 504 refers to the database 506 utilized by the next-generation driver, and acquires the maintenance command corresponding to the acquired command ID. In step S804, based on the port monitor expansion file 505, the port monitor 504 controls transmission of the acquired maintenance command to the printing apparatus 507, and then finishes the processing.
  • FIG. 9 schematically illustrates maintenance command data stored in the database 506 that is utilized by the next-generation driver. Each piece of maintenance command data 901 is associated with one command ID 902, and stored in the database 506. In the port monitor expansion file 505, the processing for specifying the maintenance command to be transmitted based on the command ID by referring to the database 506 is described.
  • The information to be associated with the maintenance command data 901 and the command ID 902 is provided by the vendor of the printing apparatus. Further, in addition to an integer value, a character string can also be used as the command ID.
  • According to the above processing, even in an OS environment that is subject to a restriction which prevents a command ID from being transmitted as a print job, an instruction to execute a maintenance operation can be properly transmitted to the printing apparatus.
  • Further, in the present exemplary embodiment, the maintenance command itself is not directly described even if the content of the port monitor expansion file is viewed. The maintenance command is described in the database 506. This enables a greater improvement in the security of the commands themselves than if a maintenance command is stored in a port monitor expansion file, which is a text file.
  • A second exemplary embodiment according to the present invention will now be described with reference to FIGS. 10 to 12. In the present exemplary embodiment, the processing performed when maintenance command data corresponding to each of a plurality of models is managed by the database 506 utilizing a next-generation driver will be described. In the present exemplary embodiment, the configuration and processing flow are the same as those described with reference to FIGS. 4 and 5 in the first exemplary embodiment.
  • FIG. 10 is a flowchart illustrating command ID and model ID transmission processing performed by the next-generation application 501 according to the second exemplary embodiment.
  • When the processing is started, in step S1001, an input is received from the user via the screen 620 for selecting the above-described utility function. In step S1002, the next-generation application 501 acquires the command ID corresponding to the maintenance command designated by the user, which has been specified based on the input information. In step S1003, the next-generation application 501 transmits a request to the printing apparatus 120 connected to the information processing apparatus 110, and acquires the model ID specifying the model from the printing apparatus 120. In step S1004, the acquired command ID and model ID are transferred to the spooler 502, and the processing is finished.
  • In the second exemplary embodiment, to utilize a maintenance command for a specific model in the database 506 according to the below-described processing, the next-generation application 501 acquires, in addition to the command ID, the model ID from the printing apparatus. The processing order for acquiring the command ID and acquiring the model ID with the next-generation application 501 may be such that either of these is performed first. Further, in addition to the acquisition of the model ID in step S1003 from the printing apparatus, the model ID acquisition may also be realized by the user manually inputting the model ID.
  • FIG. 11 is a flowchart illustrating transmission processing of a maintenance command performed by the port monitor 504 that operates based on the port monitor expansion file 505 according to the second exemplary embodiment.
  • In step S1101, the port monitor 504 acquires the command ID and the model ID via the spooler 502. In step S1102, based on the port monitor expansion file 505, the port monitor 504 refers to the database 506, and acquires the maintenance command corresponding to the acquired command ID and the model ID. In step S1104, based on the port monitor expansion file 505, the port monitor 504 controls transmission of the acquired maintenance command to the printing apparatus 507, and then finishes the processing.
  • FIG. 12 schematically illustrates maintenance command data for a plurality of models stored in the database 506 that is utilized by the next-generation driver. Each piece of maintenance command data 1201 is associated with one model ID 1202 and one command ID 1203, and stored in the database 506. In the port monitor expansion file 505, the processing for specifying the maintenance command to be transmitted according to the model ID and the command ID by referring to the database 506 is described.
  • The information to be associated with the maintenance command data, the model ID, and the command ID is provided by the vendor of the printing apparatus. Further, an integer value or a character string can be arbitrarily used as the model ID and the command ID.
  • Further, when maintenance command data for a plurality of models is stored in one database 506, a situation can arise in which the maintenance operation corresponding to each model is different. Thus, FIG. 12 illustrates the fact that a maintenance operation is not supported by some model by leaving the relevant entry blank. For example, FIG. 12 illustrates that the model corresponding to model ID “B” does not support the maintenance command represented by command ID “3” by leaving the entry in this column blank. Although FIG. 12 indicates that a command is not supported by leaving the entry blank, this can also be indicated using reserved characters, such as “None” for example.
  • According to the above processing, based on consideration of the model, an instruction to execute a maintenance operation can be properly transmitted to the printing apparatus even in an OS environment that is subject to a restriction which prevents a command ID from being transmitted as a print job.
  • A third exemplary embodiment according to the present invention will now be described with reference to FIGS. 13 and 14. The present exemplary embodiment is an expansion of the second exemplary embodiment, with the configuration and the processing content being almost the same. The difference is that a determination is made regarding whether the maintenance command data stored in the database 506 corresponds to a plurality of models, and the subsequent processing is changed depending on that determination.
  • FIG. 13 is a flowchart illustrating transmission processing of the command ID and model ID performed by the next-generation application 501 according to the third exemplary embodiment. Processing that is the same as illustrated FIG. 10 is denoted with the same reference numerals, and a description of that processing will be omitted here.
  • In step S1301, the next-generation application 501 determines whether the database 506 supports a plurality of models. This determination is made by storing, in advance in the database 506, information regarding whether maintenance command data for a plurality of models is stored, and having the application refer to that information. If it is determined in step S1301 that the database 506 supports a plurality of models (YES in step S1301), the processing proceeds to step S1003. Then, in step S1302, the information (the command ID only, or the command ID and model ID) is transferred to the spooler 502, and the processing is finished.
  • The determination performed in step S1301 is not limited to this example. For example, the determination may also be performed by providing the information about the plurality of models with a naming convention in the database 506, and performing the determination according to file names.
  • FIG. 14 is a flowchart illustrating maintenance command transmission processing performed by the port monitor 504 that operates based on the port monitor expansion file 505 according to the third exemplary embodiment.
  • In step S1401, the port monitor 504 acquires the command ID via the spooler 502. In step S1402, the port monitor 504 determines whether a model ID has been acquired via the spooler 502. If it is determined that a model ID has been acquired (YES in step S1402), then in step S1403, based on the port monitor expansion file 505, the port monitor 504 refers to the database 506, and acquires the maintenance command corresponding to the acquired command ID and the model ID. On the other hand, if it is determined in step S1402 that a model ID has not been acquired (NO in step S1402), then in step S1404, the port monitor 504, based on the port monitor expansion file 505, refers to the database 506 and acquires the corresponding maintenance command only according to the command ID. Then, in step S1405, based on the port monitor expansion file 505, the port monitor 504 controls transmission of the acquired maintenance command to the printing apparatus 507, and then finishes the processing.
  • A fourth exemplary embodiment according to the present invention will now be described with reference to FIGS. 15 and 16. The present exemplary embodiment relates to, in maintenance execution processing, processing that is performed when the port monitor 504 fails to acquire a maintenance command from the database 506. As stated above, since the next-generation driver does not have a GUI screen display function, the user cannot be notified that the maintenance command fails to be acquired in response to an input by the user of a maintenance execution instruction via the screen 620 for selecting the above-described utility function. In the present exemplary embodiment, exception processing that considers this point will be described in detail.
  • FIG. 15 is a flowchart illustrating maintenance command transmission processing performed by the port monitor 504 that operates based on the port monitor expansion file 505 according to the fourth exemplary embodiment.
  • In step S1501, the port monitor 504 executes processing to acquire a maintenance command from the database 506. Specifically, the port monitor 504 executes the processing described in one of the above first to third exemplary embodiments. Next, in step S1502, the port monitor 504 determines whether a maintenance command has been acquired. If it is determined that a maintenance command has been acquired (YES in step S1502), the processing proceeds to step S1503. If it is determined that a maintenance command has not been acquired (NO in step S1502), the processing proceeds to step S1504.
  • In step S1503, the port monitor 504 stores the acquired maintenance command in a transmission buffer. On the other hand, in step S1504, instead of a maintenance command, the port monitor 504 stores error occurrence data in the transmission buffer. Then, in step S1505, the port monitor 504 controls transmission of the information in the buffer to the printing apparatus 507, and then finishes the processing.
  • FIG. 16 is a flowchart illustrating operation of the printing apparatus 120 that received the data transmitted from the port monitor 504 in FIG. 15.
  • In step S1601, the printing apparatus 120 receives the data transmitted from the port monitor 504. In step S1602, the printing apparatus 120 determines whether the received data is error occurrence data. If it is determined that the received data is error occurrence data (YES in step S1602), the processing proceeds to step S1603. If it is determined that the received data is not error occurrence data (NO in step S1602), the processing proceeds to step S1605.
  • In step S1603, the printing apparatus 507 transitions to an error state according to the error occurrence data. At this timing, the fact that an error has occurred in the printing apparatus is notified to the user by an error output via an operation unit in the printing apparatus or a network. Errors according to specific error occurrence data may also be notified by issuing a message that maintenance execution failed. In step S1604, the error processing continues until the error state is resolved. An example of a way to resolve the error state is to provide an error resolution button in the printing apparatus 507, so that error state of the printing apparatus 507 is resolved when the user presses the button. In step S1605, the printing apparatus 507 executes processing according to the received data. In this example, an operation is executed according to the maintenance command data. After this, the processing is finished.
  • According to the above exemplary embodiment, when maintenance cannot be executed due to reasons such as failure to acquire a maintenance command, the user can be notified of that error even when utilizing the next-generation driver that does not have the above-described UI module.
  • Aspects of the present invention can also be realized by a computer of a system or apparatus (or devices such as a CPU or MPU) that reads out and executes a program recorded on a memory device to perform the functions of the above-described embodiment(s), and by a method, the steps of which are performed by a computer of a system or apparatus by, for example, reading out and executing a program recorded on a memory device to perform the functions of the above-described embodiment(s). For this purpose, the program is provided to the computer for example via a network or from a recording medium of various types serving as the memory device (e.g., computer-readable medium).
  • While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all modifications, equivalent structures, and functions.
  • This application claims priority from Japanese Patent Application No. 2012-030815 filed Feb. 15, 2012, which is hereby incorporated by reference herein in its entirety.

Claims (9)

What is claimed is:
1. An information processing apparatus connected to a printing apparatus, the information processing apparatus comprising:
a database configured to associate and manage a command identifier and a maintenance command;
an acquisition unit configured to acquire from the database the maintenance command corresponding to a command identifier designated by an application and acquired via a spooler according to a port monitor that functions based on an expansion file; and
a transmission unit configured to transmit the acquired maintenance command to the printing apparatus according to the port monitor that functions based on the expansion file.
2. The information processing apparatus according to claim 1, wherein, by using a model identifier acquired from the printing apparatus and the command identifier, the acquisition unit acquires a corresponding maintenance command from the database.
3. The information processing apparatus according to claim 2, wherein, by using only the command identifier if the database does not manage a maintenance command by model, the acquisition unit acquires a corresponding maintenance command from the database.
4. The information processing apparatus according to claim 1, wherein the transmission unit is configured to transmit error data to the printing apparatus to enable the printing apparatus to make an error notification, if the acquisition unit fails to acquire the maintenance command.
5. An information processing apparatus connected to a printing apparatus via a Universal Serial Bus cable, the information processing apparatus comprising:
a database configured to associate and manage a command identifier and a maintenance command;
an acquisition unit configured to acquire from the database the maintenance command corresponding to a command identifier designated by an application and acquired via a spooler according to a port monitor that functions based on an expansion file; and
a transmission unit configured to transmit the acquired maintenance command to the printing apparatus via the Universal Serial Bus cable according to the port monitor that functions based on the expansion file,
wherein the transmission unit is configured to transmit error data to the printing apparatus to enable the printing apparatus to make an error notification, if the acquisition unit fails to acquire the maintenance command.
6. A method for an information processing apparatus connected to a printing apparatus, the method comprising:
associating and managing in a database a command identifier and a maintenance command;
acquiring from the database the maintenance command corresponding to a command identifier designated by an application and acquired via a spooler according to a port monitor that functions based on an expansion file; and
transmitting the acquired maintenance command to the printing apparatus according to the port monitor that functions based on the expansion file.
7. A method for an information processing apparatus connected to a printing apparatus via a Universal Serial Bus cable, the method comprising:
associating and managing in a database a command identifier and a maintenance command;
acquiring from the database the maintenance command corresponding to a command identifier designated by an application and acquired via a spooler according to a port monitor that functions based on an expansion file;
transmitting the acquired maintenance command to the printing apparatus via the Universal Serial Bus cable according to the port monitor that functions based on the expansion file; and
transmitting error data to the printing apparatus to enable the printing apparatus to make an error notification, if the maintenance command fails to be acquired.
8. A computer-readable storage medium storing a computer program that causes a computer to execute a method for an information processing apparatus connected to a printer, the method comprising:
associating and managing in a database a command identifier and a maintenance command;
acquiring from the database the maintenance command corresponding to a command identifier designated by an application and acquired via a spooler according to a port monitor that functions based on an expansion file; and
transmitting the acquired maintenance command to the printing apparatus according to the port monitor that functions based on the expansion file.
9. A computer-readable storage medium storing a computer program that causes a computer to execute a method for an information processing apparatus connected to a printer via a Universal Serial Bus cable, the method comprising:
associating and managing in a database a command identifier and a maintenance command;
acquiring from the database the maintenance command corresponding to a command identifier designated by an application and acquired via a spooler according to a port monitor that functions based on an expansion file;
transmitting the acquired maintenance command to the printing apparatus via the Universal Serial Bus cable according to the port monitor that functions based on the expansion file; and
transmitting error data to the printing apparatus to enable the printing apparatus to make an error notification, if the maintenance command fails to be acquired.
US13/759,477 2012-02-15 2013-02-05 Information processing apparatus and method for information processing apparatus for executing print driver maintenance operations Abandoned US20130208298A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/048,847 US10185520B2 (en) 2012-02-15 2016-02-19 Information processing apparatus and method for information processing apparatus for executing print driver maintenance operations

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2012030815A JP5950608B2 (en) 2012-02-15 2012-02-15 Information processing apparatus, method, and program
JP2012-030815 2012-02-15

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/048,847 Continuation US10185520B2 (en) 2012-02-15 2016-02-19 Information processing apparatus and method for information processing apparatus for executing print driver maintenance operations

Publications (1)

Publication Number Publication Date
US20130208298A1 true US20130208298A1 (en) 2013-08-15

Family

ID=48945343

Family Applications (2)

Application Number Title Priority Date Filing Date
US13/759,477 Abandoned US20130208298A1 (en) 2012-02-15 2013-02-05 Information processing apparatus and method for information processing apparatus for executing print driver maintenance operations
US15/048,847 Active 2033-04-09 US10185520B2 (en) 2012-02-15 2016-02-19 Information processing apparatus and method for information processing apparatus for executing print driver maintenance operations

Family Applications After (1)

Application Number Title Priority Date Filing Date
US15/048,847 Active 2033-04-09 US10185520B2 (en) 2012-02-15 2016-02-19 Information processing apparatus and method for information processing apparatus for executing print driver maintenance operations

Country Status (2)

Country Link
US (2) US20130208298A1 (en)
JP (1) JP5950608B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160253138A1 (en) * 2015-02-27 2016-09-01 Canon Kabushiki Kaisha Information processing apparatus, control method, and storage medium
US10289364B2 (en) * 2016-08-18 2019-05-14 Canon Kabushiki Kaisha Information processing apparatus, method, and non-transitory computer-readable storage medium storing program
US11048455B1 (en) 2020-03-04 2021-06-29 Canon Kabushiki. Kaisha Devices, systems, and methods for resolving conflicting print settings

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020140965A1 (en) * 2001-03-06 2002-10-03 Cheney Douglas A. Method for selective replacement of discrete print media path components
US20040184063A1 (en) * 2000-10-03 2004-09-23 Baldwin Marie Ann Apparatus for and method of updating a device driver from a local resource
US20070035574A1 (en) * 2005-08-15 2007-02-15 Susumu Taga Cleaning device, inkjet printer, and an inkjet printer cleaning method
US20100149592A1 (en) * 2008-12-16 2010-06-17 Konica Minolta Business Technologies, Inc. Image-processing apparatus and server device
US20110247057A1 (en) * 2010-03-31 2011-10-06 International Business Machines Corporation Method, secure device, system and computer program product for digitally signing a document

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7171442B1 (en) * 2000-09-18 2007-01-30 Canon Kabushiki Kaisha Printer maintenance scheme for a network centric printing system
US20020152430A1 (en) * 2001-03-30 2002-10-17 Seiko Epson Corporation Device troubleshooting via network
JP3763466B2 (en) * 2001-12-11 2006-04-05 キヤノン株式会社 Printer command control apparatus, method and system, printer connected to the apparatus, program, and storage medium
JP2003216374A (en) * 2002-01-25 2003-07-31 Canon Inc Computer program and device driver setting method and device
JP4227464B2 (en) * 2003-06-04 2009-02-18 キヤノン株式会社 Image supply device, recording system, and recording control method therefor
JP2006172289A (en) * 2004-12-17 2006-06-29 Canon Inc Terminal, printer, print control method, storage medium which stores computer readable program and program
JP4667144B2 (en) * 2005-07-08 2011-04-06 キヤノン株式会社 PRINT CONTROL DEVICE AND ITS CONTROL METHOD, PRINT CONTROL PROGRAM, AND PRINT DEVICE
US20080244435A1 (en) * 2007-03-28 2008-10-02 Seiko Epson Corporation Computer Readable Medium Recording an Information Providing Program, Information Providing Device, and Method for Providing Information
JP4945479B2 (en) * 2008-02-25 2012-06-06 株式会社リコー Print processing apparatus, print processing method, print processing program, and recording medium

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040184063A1 (en) * 2000-10-03 2004-09-23 Baldwin Marie Ann Apparatus for and method of updating a device driver from a local resource
US20020140965A1 (en) * 2001-03-06 2002-10-03 Cheney Douglas A. Method for selective replacement of discrete print media path components
US20070035574A1 (en) * 2005-08-15 2007-02-15 Susumu Taga Cleaning device, inkjet printer, and an inkjet printer cleaning method
US20100149592A1 (en) * 2008-12-16 2010-06-17 Konica Minolta Business Technologies, Inc. Image-processing apparatus and server device
US20110247057A1 (en) * 2010-03-31 2011-10-06 International Business Machines Corporation Method, secure device, system and computer program product for digitally signing a document

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160253138A1 (en) * 2015-02-27 2016-09-01 Canon Kabushiki Kaisha Information processing apparatus, control method, and storage medium
US10127182B2 (en) * 2015-02-27 2018-11-13 Canon Kabushiki Kaisha Image forming system executing application occupation of an application and using BiDi schema
US10289364B2 (en) * 2016-08-18 2019-05-14 Canon Kabushiki Kaisha Information processing apparatus, method, and non-transitory computer-readable storage medium storing program
US11048455B1 (en) 2020-03-04 2021-06-29 Canon Kabushiki. Kaisha Devices, systems, and methods for resolving conflicting print settings
US11429328B2 (en) 2020-03-04 2022-08-30 Canon Kabushiki Kaisha Devices, systems, and methods for resolving conflicting print settings

Also Published As

Publication number Publication date
US10185520B2 (en) 2019-01-22
JP5950608B2 (en) 2016-07-13
JP2013168017A (en) 2013-08-29
US20160170691A1 (en) 2016-06-16

Similar Documents

Publication Publication Date Title
US8867077B2 (en) Information processing apparatus, system
US9355046B2 (en) Information processing apparatus, information processing method, and computer-readable medium
JP6331910B2 (en) Information processing apparatus, information processing system, and program
JP7086754B2 (en) Information processing equipment, control method of information processing equipment, and computer program
US9122431B2 (en) Information processing apparatus, control method, and recording medium
US9164714B2 (en) Information processing apparatus, method, and program for controlling a user interface
US10088982B2 (en) Information processing apparatus, method, and program
US8976386B2 (en) Information processing apparatus configured to generate reconfigurable print data, print control program, storage medium, image forming apparatus and printing system
JP2017102901A (en) Program, information processing device, setting method, and information processing system
US20130176584A1 (en) Network system, client apparatus, method therefor, and program
US8988715B2 (en) Information processing apparatus, control method, and storage medium
US10185520B2 (en) Information processing apparatus and method for information processing apparatus for executing print driver maintenance operations
CN111251732A (en) Control method and storage medium
US8804174B2 (en) Information processing apparatus for managing a non-print job in a print queue, recording medium, and control method
JP2017204139A (en) Update application and update method
US20130201522A1 (en) Network printer management system, network printer management apparatus, and method for controlling the same
US8922823B2 (en) Information processing apparatus and storage medium with the function of adding a cover letter to a print job
JP5020131B2 (en) Information processing apparatus, information processing method, and program
JP6410974B2 (en) Information processing apparatus, method, and program
JP6289688B2 (en) Information processing apparatus, method, and program
JP6084325B2 (en) Information processing apparatus, method, and program
JP4903064B2 (en) Print control apparatus, print control method, and print control program
US20230236782A1 (en) Information processing device having os-standard general-purpose printing program installed thereon that enables the device to display information on status of printer
US20210342106A1 (en) Program, method, and device for generating job data
JP2009252116A (en) Information processor, information processing method, and program

Legal Events

Date Code Title Description
AS Assignment

Owner name: CANON KABUSHIKI KAISHA, JAPAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MORIMOTO, HIROAKI;REEL/FRAME:030378/0943

Effective date: 20130117

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION