WO2004077287A1 - 印刷制御プログラムを格納した電子計算機、そのプログラム及びプログラムの記録媒体 - Google Patents

印刷制御プログラムを格納した電子計算機、そのプログラム及びプログラムの記録媒体 Download PDF

Info

Publication number
WO2004077287A1
WO2004077287A1 PCT/JP2004/002178 JP2004002178W WO2004077287A1 WO 2004077287 A1 WO2004077287 A1 WO 2004077287A1 JP 2004002178 W JP2004002178 W JP 2004002178W WO 2004077287 A1 WO2004077287 A1 WO 2004077287A1
Authority
WO
WIPO (PCT)
Prior art keywords
print
data
control
output
printing
Prior art date
Application number
PCT/JP2004/002178
Other languages
English (en)
French (fr)
Inventor
Koichiro Shoji
Takashi Nozaki
Original Assignee
Science Park Corporation
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 Science Park Corporation filed Critical Science Park Corporation
Priority to JP2005502897A priority Critical patent/JP4198154B2/ja
Priority to EP04714459A priority patent/EP1598738A4/en
Priority to US10/546,599 priority patent/US8027050B2/en
Publication of WO2004077287A1 publication Critical patent/WO2004077287A1/ja

Links

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
    • 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/1244Job translation or job parsing, e.g. page banding
    • G06F3/1247Job translation or job parsing, e.g. page banding by conversion to printer ready format
    • 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/1204Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
    • 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/1253Configuration of print job parameters, e.g. using UI at the client
    • G06F3/1254Automatic configuration, e.g. by driver
    • 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/1285Remote printer device, e.g. being remote from client or server

Definitions

  • the present invention relates to a computer storing a control program for controlling access from a computer to a peripheral device, a program thereof, and a recording medium of the program. More specifically, the present invention relates to an electronic computer storing a print control program for controlling access from an electronic computer to a printing apparatus, the program, and a recording medium for the program. More specifically, the present invention relates to the acquisition of a log of access from a computer to a printing apparatus, its storage, printing, and a print control program for data to be printed. Background art
  • work such as document creation and image processing is performed by software running on a computer, and the results of the work or files already stored in the storage medium of the computer are sent to an external printing device for printing.
  • Printing from the software to the printer is performed through the services provided by the operating system (OS), the printer driver that controls the printer connected to the computer, and the printer port.
  • OS operating system
  • printer driver that controls the printer connected to the computer
  • the computer is connected to a central processing unit (CPU), storage device (memory, hard disk, etc.), input device (keyboard, mouse, etc.), output device (display, etc.), peripheral devices (printer, scanner, etc.) It is composed of many hardware resources such as a card slot for performing the operation, and the hardware is controlled and operated by the OS stored in the storage device.
  • Various application programs running on the computer run on the OS.
  • the OS provides basic functions commonly used by many application programs, such as input / output functions such as keyboard input and screen output, disk and memory management, and manages the entire computer system.
  • Computer hardware and peripherals are manufactured by multiple manufacturers, and their specifications may differ from manufacturer to manufacturer.
  • the OS controls all operations of the computer, absorbs differences in different hardware specifications, and provides a common environment for application programs.
  • an application program developed for a particular ⁇ s can basically be used on any computer that runs the OS.
  • OS There are many types of OS represented by MS-DOS (registered trademark), UNIX (registered trademark), Linux, FreeBSD (registered trademark), etc.
  • Popular is the Microsoft (R) Windows (R) series.
  • Apple's Mac OS® is widely used.
  • Corporate servers and academic institutions often use ⁇ IX (registered trademark) OSes of various companies and UNIX (registered trademark) OSes such as Linux and FreeBSD (registered trademark) that are freely distributed.
  • Windows NT registered trademark
  • Windows 2000 registered trademark
  • Figure 11 shows an outline of the configuration and related services of a printer driver for Windows 2000, a typical OS, and related operations.
  • Computer 1 is operating at 0 S 3.
  • Application program 4 running on OS 3 When output from the printer to the printer 69, complicated processing is performed.
  • OS 3 has two operation modes, kernel mode 8 and user mode 9.
  • kernel mode 8 all instructions for operating OS 3 are executable, so if the wrong instruction is executed, the entire system may be adversely affected.
  • User mode 9 is a mode that is completely open to users such as application programs.
  • OS provides many system functions and operates a computer.
  • a service is a system function that is automatically started when OS is started, or a module that implements that function.
  • Figure 11 shows GDI 32 (61), GRE (GDI Rendering Engine) 62, printer graphic driver 63, printer interface driver 64, spooler 65, language monitor 66, and port monitor 67. And other services. Also, a printer device drone 68 for controlling the printer 69 is illustrated.
  • GRE GDI Rendering Engine
  • GDI 32 (61) is an abbreviation of Graphics Device Interface for 32-bit systems, and provides an interface for drawing, device context, metafile, coordinates, fonts, etc., to be output to devices. Service.
  • GRE 62 is a service for creating data for printing.
  • the print driver 63 is called to create print data.
  • the print driver 63 runs in kernel mode 8 and creates data for printing. And creates R AW (described later) data.
  • the printer interface driver 64 is a driver for creating print data in the user mode 9.
  • the printer interface driver 64 provides a function for performing various settings relating to printing, such as the number of copies to be printed, the type of paper, and black / white / color print settings.
  • the spooler 65 is a service for temporarily storing print data in a storage medium and managing output to the printer 69.
  • the language monitor 66 provides a service for converting print data from the spooler 65 into printable data.
  • the language monitor 66 provides services for interpreting information from the printer 69.
  • the language monitor 66 provides information such as a paper jam of the printer 69 and a toner out condition to an upper-level service and a user.
  • the port monitor 67 controls and monitors the port to be printed.
  • the printer device driver 68 is a device driver that directly controls the printer 69.
  • the printer interface driver 64, GRE 62, and language monitor 66 provide the standard functions provided by OS3.
  • the printer 69 has unique functions depending on its model and type. These unique functions are supported by a driver program such as a mini driver supplied by the manufacturer.
  • the printer interface driver 64 provides the unique function described above that called the mini-driver.
  • the printer graphic driver 63 is provided by a manufacturer of the printer 69, and can provide functions unique to the printer 69.
  • the language monitor 66 is generally different for each model and type of the printer 69, and is supplied by the manufacturer.
  • the data for printing is temporarily stored in a storage medium such as a memory or a hard disk (called spooling work), and when the printer 69 is free, or at the request of the printer 69, this data is stored.
  • Print data to printer 6 Send to 9 for printing. This work is performed by the spooler 65.
  • E MF Enhanced Metafile Format
  • RAW Raster Image Writer
  • EMF is a printer format developed for 32-bit Windows systems and can be created by application programs. However, EMF data can be received and printed only on printers that support EMF. In the case of a printer that does not support EMF, the data can be converted to RAW data and printed. RAW data depends on the model of the printer 69, so it is created with a driver that corresponds to each printer 69.
  • the outline of the flow of print data when printing from the application program 4 to the printer 69 is described below.
  • the application program 4 issues a print request to GDI 32 (61).
  • the print request and the output data from the application program 4 are transmitted to the G D 1 32 (61) operating in the OS 3 user mode. If the data format is EMF, GDI 32 (61) sends the data to the spooler 65 to the spooler.
  • GDI 32 (61) passes the data to GRE 62.
  • GRE 62 calls the printer graphic driver 63 to create spooler data from the data.
  • the created spooler data is sent to the printer interface driver 64.
  • the print driver 64 sets various print settings and passes them to the spooler 65.
  • the spooler 65 spools the data for the spooler, creates a temporary file, and saves it on the disk.
  • the spooler 65 reads the temporary file and passes the data to the language monitor 66.
  • Language Monitor 66 Create print data suitable for printing 69
  • the print data is transmitted to the printer device driver 68 through the port monitor 67.
  • the procedure for printing on the printer 69 will be described with reference to the flowchart shown in FIG.
  • the application program 4 issues a print request to the GD I 32 (61) (S300) and sends data to be printed.
  • the GDI 32 (61) receives the print request and the data (S301) and analyzes the data (S302).
  • the GDI 32 (61) determines the format of the data format (S303). If the format format is EMF (Yes determination), the data is sent as a data for the spooler 65 Hespura (S3 15) ⁇ S 316).
  • the data is passed to GRE 62 (S304).
  • the GRE 62 receives the data (S305), calls the printer graphic driver 63, and passes the data (S306).
  • the printer driver 63 receives the data (S307), and creates a data for the spooler (S308).
  • the created spooler data is passed to GRE 62 (S309).
  • the GRE 62 receives the spooler data (S310) and sends it to the printer interface driver 64 (S311).
  • the printer interface driver 64 receives the spooler data (S312), performs various print settings (S313), and transmits the data to the spooler 65 (S314 ⁇ S316).
  • the spooler 65 receives the spooler data (S316), performs spooling processing of the spooler data to create a temporary file (S317), and stores it on the hard disk (S318).
  • This temporary file is read by the spooler 65 and passed to the language monitor 66 (S319).
  • the language monitor 66 creates print data from the temporary file (S320) and sends it to the port monitor 67 (S321).
  • the port monitor 67 receives the print data (S322), sends it to the printer driver 68 (S323), and prints the printer driver 68. The printing data is finally transmitted to the printer 69 (S324). Therefore, the data requested to be printed from the abbreviated program 4 is printed. While the spooled data is sent to the printer device driver 68, it is monitored by the language monitor 66 and the port monitor 67.
  • the international publication WO02X0911195 discloses a common interface that operates in a kernel mode for transmitting and receiving data between device drivers of an electronic computer. This common interface does not propose a technology for acquiring print histories for security or the like, and managing and restricting user's printing work.
  • the present invention has been made under the above-mentioned technical background, and achieves the following objects.
  • SUMMARY OF THE INVENTION It is an object of the present invention to provide an electronic computer storing a print control program for controlling printing, such as stopping, interrupting, and changing print data, when accessing a printing apparatus from an electronic computer and printing data.
  • the recording medium of the system is provided.
  • Another object of the present invention is to provide an electronic computer storing a print control program for controlling access from an electronic computer to a printing apparatus in a kernel mode, and a program and a recording medium for the program.
  • Still another object of the present invention is to provide a computer storing a print control program for acquiring an access log from a computer to a printing apparatus in a kernel mode, a program and a recording medium of the program.
  • Still another object of the present invention is to provide an electronic computer storing a print control program for transferring an access log from an electronic computer to a printing apparatus to a network, a program thereof, and a recording medium of the program.
  • Still another object of the present invention is to provide an electronic computer storing a print control program for controlling under a predetermined condition when a specific access is made from the electronic computer to the printing apparatus, a program thereof, and a recording medium of the program.
  • the computer storing the printing control program of the present invention, the program, and the recording medium of the program have the following advantages.
  • the data to be printed from the application program, the application program making the print request, and the user can be accurately grasped, and based on the grasped contents, the stoppage, interruption, rewriting of the print data, and printing are performed.
  • Printing control can be performed under flexible conditions such as designation of a possible period.
  • access control from a computer to a printing apparatus is performed in a kernel mode which is an operation mode of an OS of the computer. Since this access control is performed using data on a evening basis, it is possible to control access to files automatically. For this reason, it is possible to perform predetermined control simply by changing the database.
  • the present invention uses a common interface between the application program and the device driver and controls the print output using the interface driver program, the confidentiality of the data is protected and the data is protected. Secure transfer.
  • the computer storing the print control program according to the first invention of the present invention, when outputting print data from a computer operating on an operating system (OS) to a printing device (69), Detecting means (43) for detecting a print request and output data issued from the application program (4) running on the system to the printing device (69) for printing, and processing the output data
  • a spooler (65) for temporarily storing the created print data in a storage medium and outputting the print data to the printing device (69); and the application program (4).
  • a control means (7, 41) for controlling the output data output for printing to the printing device (69) from
  • the control means (7, 41) operates in a kernel mode capable of executing all instructions of the operating system (OS), and has a common interface driver (7, 41) for transmitting and receiving data between a plurality of device drivers.
  • a monitoring unit (43) that operates in the user mode of the operating system (OS) and monitors events of the operating system (OS), and executes all instructions of the operating system (OS).
  • the print data which operates in the executable mode and is inserted before the printer device driver (68) controlling the printing device (69), and is sent from the spooler (65) to the printing device (69).
  • a philharmonic (41) for controlling the The common interface driver (7)
  • a printer output monitoring driver unit (42) for transmitting a control command to the filter (41), and accessing a storage device to acquire the control condition;
  • a data input / output unit (20, 30) for passing the data to the printer output monitoring driver unit (42), wherein the monitoring unit (43) is configured to generate the data when an event occurs when the spooler (65) operates. Detecting a print request, and passing the detected print request to the printer output monitoring driver section (42) via the application interface section (17);
  • the print output monitoring driver unit (42) receives the print request, transmits a control command for the print request to the filter (41), and the filter (41) performs the print data in accordance with the control command. It is characterized in that one night is controlled under the predetermined control conditions.
  • the monitoring unit (43) detects the print request by an event generated when the spooler (65) operates, and detects the print request. Passing the print request to the printer output monitoring driver section (42) via the application interface section (17), the printer output monitoring driver section (42) receives the print request,
  • the spooler temporary file created and stored according to (65) is controlled by the control condition.
  • control means (7, 41) includes a second printer output monitoring driver section (48), and the output data is stored in the spooler ( 65), the second printer output monitoring driver section (48) is connected to the printer output monitoring driver section (42) via the second printer output monitoring driver section (48). Receiving the control condition and the control instruction, and controlling the print data.
  • the computer storing the print control program according to the fourth invention of the present invention is the computer further comprising: the second print output monitoring driver section (48), wherein the print data is sent to the spooler (65) when the output data is sent to the spooler (65).
  • the print request is detected, and the detected print request is transferred to the printer output monitor driver section (42) via the application interface section (17), and the print output monitor driver section (42) )
  • the control condition is selected from among the stop of the data output, the change of the output speed of the data output, and the repeated output of a part of the data output.
  • control condition is at least one selected from a change in attributes of the spooler temporary file, a change in the contents of the spooler temporary file, and a control to delete the contents of the spooler temporary file to make it an empty file.
  • control condition may be a file for print control, a print period indicating a printable period, an application program in which the file cannot be printed, a user, or a type of control, or a combination thereof.
  • the detecting means may include a step of operating a hook program in conjunction with the event when the event occurs, and the hook program may have a transmitting step of notifying the occurrence of the event to a control means.
  • the control means has a function of acquiring the print-controlled log and storing it in a log database.
  • the log database includes a user column indicating a user who has performed printing, Column of the print file name indicating the file that performed the printing, and application program indicating the application program that performed the printing Column for printing, a column for printing that shows the printing device that performed printing, a column for printing conditions that shows printing conditions, a column for date and time that shows the date and time when printing was performed, and a column for printing control that performed printing control It is good to consist of.
  • the present invention is an electronic computer storing the print control programs of the first to fourth aspects of the present invention
  • the present invention may include the print control program or a medium storing the print control program.
  • FIG. 1 is a conceptual diagram showing an outline of functions of a print control program of a computer according to a first embodiment of the present invention.
  • FIG. 2 is a diagram showing a configuration of the control condition database.
  • FIG. 3 is a diagram illustrating detection of a spoiling event.
  • FIG. 4 is a diagram showing the operation of the common interface driver.
  • FIG. 5 is a flowchart showing the flow of the print control.
  • FIG. 6 is a flowchart showing the operation of the philosophy.
  • FIG. 7 is a diagram showing another example of spooling event detection.
  • FIG. 8 is a conceptual diagram showing an outline of functions of a print control program of a computer according to the second embodiment of this invention.
  • Figure 9 shows an example of a log file.
  • FIG. 10 is a flowchart showing the print log acquisition operation.
  • FIG. 11 is a conceptual diagram showing a conventional printing-related service.
  • FIG. 12 is a flowchart showing a conventional printing flow.
  • FIG. 13 is a conceptual diagram showing an outline of functions of a print control program of a computer according to the third embodiment of this invention.
  • FIG. 14 is a diagram showing the configuration of the control condition database. BEST MODE FOR CARRYING OUT THE INVENTION
  • FIG. 1 is a conceptual diagram showing functions of a print control program of a computer according to the first embodiment of this invention.
  • the common interface driver 7 is a driver that operates in kernel mode 8.
  • the common interface driver 7 is for providing a common interface to the driver operating in the power mode 8 for programs and services operating in the user mode 9 such as the application program 4. It also serves to provide a common interface that allows data to be sent and received between drivers operating in kernel mode 8.
  • This common interface is proposed by the present inventors and is known in International Publication WO 02/099195 and the like, and is not the gist of the present invention. Description is omitted.
  • the common interface driver 7 includes an application interface section 17, a flow control section 25, a data processing section 19, a TDI client driver section (TDI client driver section) 20, and access data management. It consists of a unit 30, a printer output monitoring driver unit 42, etc. The functions of each unit are as follows.
  • the application interface section 17 is an interface between the application program 4 and the common interface driver 7.
  • the application interface unit 17 receives a command such as a file access request from the application program 4, and transmits the execution result of the command or other data received from the flow control unit 25 to the ablation program 4. It is for.
  • the data processing section 19 is for inputting and outputting to the access data management section 30 and the TDI client driver section 20.
  • the TDI client driver section 20 is an interface between the network driver 21 and the common interface driver 7.
  • the network driver 21 is composed of a protocol driver 22 and an NDIS (Network Driver Interface Specification) driver 23, controls the network force 16 and transmits data to the network 26. It establishes connections and controls protocols.
  • NDIS Network Driver Interface Specification
  • the protocol driver 22 controls a communication protocol when transferring data to the network 26.
  • the NDIS driver 23 provides an interface between the protocol driver 22 and the network card 16.
  • the TDI client driver unit 20 receives the packetized data from the data processing unit 19 and outputs it to the protocol driver 22.
  • the flow control unit 25 analyzes commands and the like from the application program 4 received via the application interface unit 17 and issues instructions to the data processing unit 19 and the print output monitoring driver unit 42. Control.
  • the database 35 is stored in an auxiliary storage device such as a hard disk.
  • the database 35 stores information on user files.
  • the access data management unit 30 refers to, registers, controls, and manages the database 35.
  • the common interface driver 7 includes a printer output monitoring driver section 42 and the like.
  • the printer output monitoring driver section 42 monitors output of data to the printer 69 and controls output to the printer 69 as necessary.
  • the printer output monitor driver section 42 obtains a printer output log to the printer section 69, as will be described later, and also obtains the other functional sections 19, 20, and 20 of the common interface driver 7. Save the pudding output log to the hard disk of the computer 1 via 30 or 25, or Can be sent to other computers via network 16 and network 26 for storage.
  • the print output monitoring driver section 42 controls output to the print section 69 according to control conditions preset in the database 35. For example, if a user wants to print a particular file, restrict, suspend, or stop the work. Alternatively, the user prints a different print date to print another one. In addition, it is possible to control the printing on the printer 69 very slowly.
  • Management from a server (not shown) and accessed via the network 2 6 to electronic computer 1, Te cowpea to changing the contents of the database 35, changes or suspend / resume control of the printer 6 9 It is also possible.
  • the management server sends an instruction to the flow control unit 25, and the flow control unit 25 issues an instruction to the print output monitoring driver unit 42 in accordance with the instruction, and can control output to the printer 69.
  • the data processing unit 19 has a function of creating a print log based on information from the flow control unit 25 and the printer output monitoring driver unit 42 and storing the log in the database 35.
  • the log is sent to the TDI client driver section 20 and sent to another computer connected to the network 26.
  • an interface section 43 In the user mode 9, an interface section 43 is provided.
  • the interface section 43 mainly operates in the user mode 9.
  • the S3 service and an interface with the application program 4 are provided.
  • the interface section 43 includes an application monitoring section 44 for monitoring the operation status of the application program 4 and providing an interface, and a printing section for monitoring printing-related services such as a spooler 65.
  • the common interface driver 7 can directly transmit and receive data with the application program 4 and the like.
  • the database 35 has a control condition database 36 having files and control data for the files.
  • the control condition database 36 comprises a table 100 as shown in FIG. Table 100 is a table showing control conditions such as what restrictions are imposed when printing a file.
  • the table 100 includes a “file name” 101 column and a “control type” 102 column.
  • the “file name” 101 column is a list of files to be controlled.
  • the column of “control type” 102 is the type of control set in advance for each file shown in the column of “file name” 101.
  • the control is performed as a command issued from the printer output monitoring driver section 42 to the filter 41.
  • the types of this control are “Stop printing” 103, “Load” 104, “Blank printing” 105, “Warner one mark” 106, “Print completion notification” 107,
  • the column consists of “Successful writing” 1 08 and “Spooler reading disabled” 1 09.
  • “Stop printing” 103 is a control to stop printing of the target file.
  • the printer output monitoring driver unit 42 issues a command to the filter 41 to instruct the filter 41 not to output print data to the printer 69. put out.
  • the “load” 104 is a control to slow down the printing work of the target file, that is, to apply a load.
  • the printer output monitoring driver unit 42 sends the print data to the printer 69 temporally with respect to the filter 41. An instruction to output to the later is issued.
  • “Blank printing” 105 controls print a blank page instead of printing the target file.
  • the print output monitoring driver section 42 sends print data to the print Issue a command to delete and instead output data to print a blank page.
  • Watermark 106 is special characters and sentences for printing the target file. This is a control to print a watermark that overwrites the chapter, and the printer output monitoring driver unit 42 instructs the filter 41 to load the print data to the printer 69 with the watermark and output it. Put out.
  • the “print completion notification” 107 is a control for giving a notice that printing from the printer device driver 68 to the printer 69 is completed when printing the target file. In this control, the printer output monitoring driver unit 42 issues an instruction to the filter 41 to transmit the message of the chest.
  • “Writing successful” 108 is control when the spooler 65 creates a temporary file and writes it to the hard disk, and notifies the spooler 65 that the writing has been successful. In this case, delete the contents of the created temporary file to make it an empty file. In the case of "Spooler readout disabled" 1109, control is performed to change the attribute of the temporary file created by the spooler 65 so that the spooler 65 cannot read it again and stop printing.
  • the output of a print request issued from the application program 4 or the like is detected.
  • the printing program sent from the application program 4 to the printer 69 is controlled.
  • the detection of the print request utilizes the function that the spooler 65 creates a temporary file.
  • the print control that controls the printing work or print data controls any of the function of transmitting print data to the printer device driver 68 that operates in force mode 8, spooling, and access to the printing device. You.
  • the spooled print data is transmitted to the printer device driver 68 through the language monitor 66 and the port monitor 67.
  • the port monitor 67 monitors the port to be output to the printer 69, and sends a print data to the printer device driver 68 when the printer 69 is free.
  • the print device driver 68 is a driver for actually controlling the hardware, and performs print processing by directly controlling the print device 69.
  • the spooler 65 receives the spooler data sent from the GDI 32 (61) or the printer interface driver 64. Then, when the spooler 65 starts spooling, a spooling event occurs.
  • An event is the notification of a change in the operating state of hardware or software to other hardware or software.
  • the spooling event indicates that spooling is taking place.
  • the spooling event is registered in the OS 3 event management.
  • the hook program 71 registered in association with the spooling event starts operating.
  • the hook program 71 operates the hook program 73 by interrupting the spooling program.
  • the hook program 73 starts (S 1) and notifies the common interface driver 7 that a print event has occurred (S 2). Then, it waits for a response from the common interface driver 7 (S3). Upon receiving a reply notification from the common interface driver 7, the hook program 73 ends (S4, S5), and the spooling program main body 72 starts.
  • the print monitor 45 monitors all spooling events. When a spooling event occurs, the print monitoring unit 45 creates “notification of a spooling event” in association with the application program 4 that has issued the print request. The “notification of the spooling event” is sent to the application interface 17.
  • the application interface section 17 receives the "spooling event notification” (S50) and sends it to the flow control section 25 (S51).
  • the flow control unit 25 receives the “notification of a spooling event” from the application interface unit 17 (S52) and analyzes it (S53).
  • the data is transmitted to the data processing section 19 (S54).
  • the data processing unit 19 receives the data (S55).
  • the data processing unit 1 9 refers to the control condition from the database 35 to have been registered, with reference to the control condition database 36 (S 56), table 1 00 associated with the file name and you'll print, file name
  • the control condition for 101 is acquired (S57).
  • the data processing unit 19 accesses the database 35 via the data management unit 30, but is omitted in the description.
  • the acquired file name 101 and the control conditions are transmitted to the printer output monitoring driver unit 42 (S58).
  • the printer output monitoring driver unit 42 For example, referring to the table 100 in FIG. 2, when trying to print “File 1” in the “File name” 10 1 column, the data processing unit 19 acquires the control condition of “Stop printing”, “File 1” and “Stop printing” are sent to the print output monitoring driver unit 42.
  • the printer output monitoring driver 42 receives the file name and the control condition (S59), and transmits the control condition to the file 41 provided between the printer device driver 68 and the port monitor 67 (S60). Then, a notification of "command output complete” is transmitted to the flow control unit 25 (S61).
  • the flow control unit 25 receives the “command output completion” (S62) and sends a “spooling event reception completion” to the application interface unit 17. I believe (S63).
  • the application interface unit 17 receives the “spring event reception completed” (S64), and notifies the hook program 73 of “spring event reception completed” (S65). Thus, a series of print control condition settings is completed.
  • FIG. 5 is a flowchart showing an example of the flow of print control, which is an example of control in which a “print complete” signal, which is a pseudo signal, is transmitted without printing and actual printing is not performed.
  • the spooler 65 receives the spooler data (S81), creates a temporary file (S82), and saves it on the hard disk.
  • the spooler 65 reads the temporary file again and passes it to the language monitor 66 corresponding to the printer 69 (S83).
  • the language monitor 66 creates print data (S84) and passes it to the port monitor 67 (S85).
  • the port monitor 67 transmits the print data to the filter 41 (S86).
  • the filter 41 receives the print data and returns "print completed” (S87).
  • the port monitor 67 receives “print completed” and transmits “print completed” to the language monitor 66 (S88).
  • the language monitor 66 receives "print completed” and transmits "print completed” to the spooler 65 (S89).
  • the spooler 65 receives the "print completed” and transmits "print completed” to the application program 4 (S90).
  • FIG. 6 is a flowchart showing the operation of the filter 41 in the case of the above-mentioned “printing completion” control.
  • the print output monitoring driver 42 transmits the control condition to the filter 41 (S60 ⁇ S101).
  • the filter 41 receives the control condition (S102) and waits (S103).
  • the filter 41 waits until an instruction from the printer output monitoring driver unit 42 or print data is transmitted from the port monitor 67.
  • Fill evening 41 prints from port monitor 67 One night is received (S104).
  • the filter 41 When the filter 41 finishes receiving the print data, it returns "print complete" to the boat monitor 67 (S105 ⁇ S87).
  • the control condition of the print data is determined (S106). If the print data meets the control conditions (Yes determination), the control conditions are executed (S107). If the print data does not meet the control conditions (No determination), the print data is transmitted to the printer device driver 68 (S108). The print data does not meet the control conditions (No determination). Since the print data is not controlled, it is transmitted to the printer device driver 68 and printed as usual.
  • the control of "load” 104, "blank printing” 105, "war mark” 106, "print completion notification” 107 is controlled by the filter 41.
  • the "load” 104 can be achieved by sending to the print device driver 68 at a very slow speed instead of deleting the print data. Alternatively, a part of the data to be printed is repeatedly transmitted to the print device driver 68.
  • the “blank printing” 105 deletes the print data and outputs a command to print a blank page to the printer device driver 68.
  • the “watermark” 106 attaches a watermark to the print data and transmits the data to the printer device driver 68.
  • the printer output monitoring driver section 42 displays “Spooler read failure Yes ”Receiving the print control command of 109, the spooler 65 starts monitoring the temporary file created. This monitoring receives the write information of the temporary file at regular intervals and monitors whether the write is completed. When the writing of the temporary file is completed, the attribute of the file is rewritten so that the spooler 65 cannot read the temporary file.
  • the spooler 65 cannot read the temporary file and pass it to the language monitor 66 to continue printing.
  • the printer output monitoring driver section 42 deletes the temporary file written to the hard disk by the spooler 65 and creates an empty file having the same file name. deep.
  • the printer output monitoring driver section 42 deletes the temporary file written to the hard disk by the spooler 65 and creates an empty file having the same file name. deep.
  • the printer interface driver 6 4 ⁇ Princess graphic driver 6 3 function may be used.
  • a filter may be created in the middle to control printing.
  • the detection of the print request by the spooler 65 shown in FIG. 3 may be a procedure as shown in FIG.
  • the spooler 65 receives the spooler data sent from the GDI 32 (61) or the printer interface driver 64.
  • a spooling event occurs when spooler 65 starts spooling.
  • a hook program 71 registered in association with the spooling event starts operating.
  • the hook program 71 interrupts the spooling program and Activate program 73.
  • the hook program 73 starts (S11), and notifies the common interface driver 7 that a print event has occurred (S12).
  • the common interface driver 7 is notified, the hook program 73 ends (S13), the program returns to the spooling program, and the program body 72 starts. Therefore, spooling of spooling data by the spooler 65 continues.
  • the print control program according to the second embodiment of the present invention acquires a log output to a printer and stores it on a hard disk or the like.
  • FIG. 8 is a diagram illustrating an outline of functions of a print control program according to the second embodiment.
  • the obtainable information related to this printing includes the user who printed, the name of the file that was printed, the application that requested printing, the printer, the printing conditions, and the date and time of printing. is there.
  • the printing conditions are information such as paper size, printing direction, number of copies, color setting (white and black Z-color printing), image quality, layout setting, page designation, and the like set when printing the file. 'When printing, this information can be obtained and saved as a log file.
  • Figure 9 shows an example of a log file.
  • the log files are “User” 1 1 1, “Print File Name” 1 1 2, “Application” 1 1 3, “Print” 1 1 4, “Print Condition” 1 1 5, “Date and Time” 1 1 6, It is a table 110 composed of columns of “type of control” 1 17.
  • the column of “user” 1 1 1 indicates a user who has performed printing, and is a name of a user using the computer 1 at the time of printing.
  • Print file name” 1 1 2 is the name of the printed file.
  • Application” 1 13 is the name of the application program 4 or service that performed the printing.
  • Print” 1 1 4 is the name of the printed pudding is there.
  • Print conditions” 1 15 are the print conditions (described above) set when printing the file.
  • Date and time” 1 16 is the date and time of printing, and is displayed, for example, as “2000 year 1 January 1 10:45 5 minutes 0 5 seconds”.
  • Control type 1 17 is a column indicating the control when the file is printed.
  • the “control type” 117 is the “control type” 102 in the table 100 illustrated in FIG.
  • the log file is acquired by the common interface driver 7 and stored in the hard disk of the computer 1 or the like. It may be stored on a database basis. Further, it may be stored in a storage device such as another computer connected to the network 26.
  • FIG. 10 is a flowchart illustrating an example of a procedure for acquiring a log file, and describes a procedure for acquiring a log when printing.
  • the print request is the same as the procedure described in the first embodiment, and the procedure from when the data processing unit 19 acquires the control condition to when the log file is created will be described.
  • the data processing unit 19 acquires the control conditions (S57 ⁇ S71), and creates a print log (S72).
  • the log has information of table 110 as shown in FIG.
  • the created tag is transmitted to the access data management unit 30 (S73).
  • the access data management unit 30 receives the log (S74).
  • the access data management unit 30 accesses the database 35 on the hard disk and adds a log to the print log database 46 (S75).
  • FIG. 13 is a diagram illustrating the concept of the function of the print control program according to the third embodiment of the present invention.
  • the print control program according to the third embodiment is different from the first and second embodiments in that the second printer output monitoring driver section 48 is interposed between the GDI 32 (61) and the spooler 65. This is different from the second embodiment.
  • the second printer output monitoring driver section 48 is output from GDI 32 (61). It has the function of monitoring and controlling the data input.
  • the third embodiment has the same basic functions as those of the first embodiment and the second embodiment in that printing is controlled and a history is kept. Is explained.
  • the second printer output monitoring driver section 48 directly communicates with the flow control section 25 and the printer output monitoring driver section 42.
  • the print output monitoring driver section 42 performs print control according to specified condition settings. In this condition setting, it is possible to specify a printable time, a print application, and a user.
  • the flow control unit 25 acquires the control condition from the database 35 and passes it to the print output monitoring driver unit 42.
  • the control condition table 120 includes fields of file 121, print period 122, print prohibition application 123, user 124, and control 125.
  • File 1 21 indicates a controlled file.
  • the print period 1 2 2 is a column indicating a printable period, and specifies a print start time and an end time.
  • the printing period 122 may be specified by a specific date or a specific date and time.
  • the print prohibition application 1 2 3 indicates an application program that performs print control. Users 124 are users who perform print control. Control 1 25 indicates what kind of print control is to be performed. For example, control such as “printing prohibition” to prohibit printing, “printing permission” to permit printing, and “standby” to wait for printing may be used.
  • the user operates the application program 4 to print.
  • a print command is issued from the application program 4, and the print data is passed to the GDI 32 (61) and then to the spooler 65.
  • the second printer output monitoring driver section 48 between the GDI 32 (61) and the spooler 65 checks the print data and determines whether the print control conditions are met. Refuse.
  • the print control conditions are stored in the control condition database 36, and are passed to the printer output monitoring driver unit 42 by the flow control unit 25.
  • the common interface driver 7 constantly monitors the application program 4 and the user who operates it. The name of the application program 4 and user information obtained from this information are passed to the second print output monitoring driver unit 48.
  • the first printer output monitoring driver unit 48 can determine whether the control condition is satisfied. If it is determined that the print data cannot be printed, a “printer” message is returned to GDI32 (61), and the print data is not passed to the spooler 65. If it is determined that the print data can be printed, the print data is passed to the spooler 65.
  • the second printer output monitoring driver section 48 can transmit and receive data to and from the printer output monitoring driver section 42.
  • the print output monitoring driver unit 42 can perform print control by instructing the file 41 based on an instruction from the second print output monitoring driver unit 48.
  • the present invention when printing from an electronic computer, it is possible to obtain a log at the time of printing, save the log, control print data, and control printing. For this reason, security can be further improved if print data management is important in areas where management of print data is important, such as personal information, national confidential information, and trade secrets. Become.

Landscapes

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

Abstract

本発明の印刷制御プログラムを格納した電子計算機、そのプログラム及びプログラムの記録媒体は、電子計算機から印刷装置へのアクセスをカーネルモードで制御する。 アプリケーションプログラム(4)からプリンタ(69)へアクセスするときにスプーラ(65)が動作する。このスプーラ(65)動作時に発生するイベントによってアクセス要求が検出される。共通インターフェースドライバ(7)は、予め制御条件データベース(36)に登録された制御条件に従ってプリンタ(69)へのデータ出力をフィルタ(41)や、スプーラ(65)において制御する。

Description

明 細 書
印刷制御プログラムを格納した電子計算機、 そのプログラム及びプ口グラムの記録媒体 技術分野
本発明は、 電子計算機から周辺装置へのアクセスを制御する制御プ口グ ラムを格納した電子計算機、 そのプログラム及びプログラムの記録媒体に 関する。 詳しくは、 電子計算機から印刷装置へのアクセスを制御する印刷 制御プログラムを格納した電子計算機、 そのプログラム及びプログラムの 記録媒体に関する。 更に詳しくは、 電子計算機から印刷装置へのアクセス のログの取得、 その保存、 印刷、 印刷されるデータの印刷制御プログラム に関する。 背景技術
電子計算機上で動作するソフトウエアによって文書作成、 画像処理等の 作業を行い、 その作業結果、 又はすでに電子計算機の記憶媒体に保存され ているファイルを外部の印刷装置に送って印刷することがある。 ソフトゥ エアから印刷装置への印刷は、 O S (Operat ing Sys tem) が提供するサー ビス、電子計算機に接続されている印刷装置を制御するプリン夕ドライバ、 プリン夕ポートを通して行われる。
〔電子計算機の概要〕
電子計算機は、 中央演算処理装置 (C P U)、 記憶装置 (メモリ、 ハード ディスク等)、 入力装置 (キーボード、 マウス等)、 出力装置 (ディスプレ ィ等)、 周辺機器 (プリン夕、 スキャナ等) へ接続するためのカードスロッ ト等の多くのハードウェア資源からなり、 かつ記憶装置に記憶されている O Sによってこれらのハードウェアが制御されて動作する。 電子計算機で動作する各種アプリケーションプログラムは O S上で動作 する。 O Sは、 キーボード入力や画面出力といった入出力機能、 ディスク やメモリの管理等、 多くのアプリケーションプログラムから共通して利用 される基本的な機能を提供し、 電子計算機のシステム全体を管理する。 電子計算機のハードウェアと周辺器機は、 複数のメーカによって生産さ れて、 メーカによってその仕様が異なることがある。 O Sは電子計算機の 全ての動作を制御し、 異なるハードウェア仕様の違いを吸収し、 アプリケ ―ションプログラムに共通の環境を提供する。
アプリケーションプログラムの開発者は、 O Sの提供する機能を利用す ることによって、 開発の手間を省くことができ、 アプリケーションプログ ラムの操作性を統一することができる。 よって、 ある〇s向けに開発され たアプリケーションプログラムは、 基本的にはその O Sが動作するどのよ うな電子計算機でも利用できるようになる。
O Sには、 MS-DOS (登録商標)、 UNIX (登録商標)、 L inux, FreeBSD (登 録商標) 等に代表される数多くの種類があり、 企業や家庭の一般ユーザが 利用する O Sとして最もポピュラーなのは Microso f t社の Windows (登録 商標) シリーズである。 D T P業界やマルチメディア業界では、 Appl e 社 の Mac OS (登録商標) が広く利用されている。 企業のサーバや学術機関で は各社の丽 IX(登録商標)系の O Sや、無償配布されている L inuxや FreeBSD (登録商標) 等の UNIX (登録商標)系の O Sが使われることが多い。 近年、 サーバ用の 0 Sとして Microsof t社の Windows NT (登録商標) や Windows 2000 (登録商標)がシェアを伸ばしている。
〔プリン夕ドライバの概要〕
図 1 1には、代表的な O Sである Windows 2000のプリン夕ドライバの構 成及び関連サービスと、 動作の概略を示す。 電子計算機 1は 0 S 3によつ て動作している。 O S 3上で動作しているアプリケーションプログラム 4 からプリンタ 6 9へ出力を行うとき、 複雑な処理が行われる。
O S 3には、 カーネルモード 8、 ュ一ザモード 9の 2つの動作モードが ある。 カーネルモード 8では、 O S 3を操作するためのすべての命令が実 行可能であるから、 仮に間違つた命令を実行するとシステム全体に悪影響 を及ぼしかねない。 ユーザモード 9はアプリケーションプログラム等のュ 一ザに対して完全に開放されているモードである。
このュ一ザモード 9では、 システムに悪影響を与えないように、 0 S 3 を操作する命令を制限している。 システムに悪影響を与えるような命令の 実行が制限されているため、ユーザにとっては使い易い環境になっている。
O Sは、 数多くのシステム機能を提供し電子計算機を動作させる。 O Sを 起動すると自動的に起動されるシステム機能、 またはその機能を実現する ためのモジュールをサービスという。
図 1 1には、 G D I 3 2 ( 6 1 )、 G R E (GDI Render ing Engine) 6 2、 プリンタグラフィックドライバ 6 3、 プリン夕インターフェースドライバ 6 4、 スプーラ 6 5、 言語モニタ 6 6、 ポートモニタ 6 7等のサービスを 図示している。 また、 プリンタ 6 9を制御するためのプリンタデバイスド ライノ 6 8を図示している。
これらのサービスは力一ネルモード 8又はユーザモード 9で動作し、 プ リン夕デバイスドライバ 6 8はカーネルモード 8で動作する。 G D I 3 2 ( 6 1 )は、 3 2ビットシステム用の Graphics Dev ice Interf aceの略で、 描画、 デバイス ·コンテキスト、 メタファイル、 座標、 フォント等の、 デ バイスへの出力にかかわる、インターフェースを提供するサービスである。
G R E 6 2は、 印刷用のデータを作成するサ一ビスである。 プリンタ 6 9の機種や種類等の固有機能に関してはプリン夕グラフィックドライパ 6 3を呼び出して印刷用のデータを作成する。 プリン夕グラフィックドライ バ 6 3は、 カーネルモード 8で動作し、 印刷用のデータを作成するドライ バであり、 R AW (後述する) データの作成を行う。
プリン夕ィンターフェ一スドライバ 6 4は、 印刷用のデータをユーザモ ―ド 9で作成するためのドライバである。 プリンタインターフェースドラ ィバ 6 4は、 印刷するときの印刷の部数、 用紙の種類、 白黒/カラー印刷 設定等の印刷に関する諸設定を行う機能を提供する。
スプーラ 6 5は、 印刷用のデータを一時的に記憶媒体に保存し、 プリン 夕 6 9への出力を管理するサービスである。 言語モニタ 6 6は、 スプーラ 6 5からの印刷用のデータを印刷可能なデータに変換するためのサービス を行う。 更に、 言語モニタ 6 6は、 プリン夕 6 9からの情報を解釈するた めのサ一ビスを行う。例えば、言語モニタ 6 6はプリンタ 6 9の紙詰まり、 トナー切れ等の情報を上位サービスやユーザに提供する。 ポートモニタ 6 7は、 印刷するポートの制御 ·監視を行う。
プリンタデバイスドライバ 6 8は、 プリンタ 6 9を直接制御するデバイ スドライバである。プリンタイン夕一フェースドライバ 6 4、 G R E 6 2、 及び言語モニタ 6 6は O S 3から提供されている標準機能を提供する。 し かし、 プリンタ 6 9はその機種,種類に依存した独自機能がある。 これら の独自機能はメーカが供給しているミニドライバ等のドライバプログラム で対応する。
プリン夕インターフェースドライバ 6 4は、 ミニドライバを呼び出した 上述の独自機能を提供する。 プリンタグラフィックドライバ 6 3は、 プリ ン夕 6 9の供給メーカが提供することが殆どで、 プリン夕 6 9独自の機能 を提供できる。 また、 言語モニタ 6 6はプリンタ 6 9の機種 ·種類ごとに 異なっていることが一般的でメーカが供給している。
印刷用のデータをメモリ ·ハードディスク等の記憶媒体に一時的に保存 して (スプーリング作業という)、 プリン夕 6 9が空いているときに、 又は プリン夕 6 9からの要求によって、 この保存した印刷データをプリンタ 6 9に送って印刷を行う。 この作業は、 スプーラ 6 5によって行われる。
Windows ではスプーラ 65へ渡されるスプーリング用のデータとして、 E MF (Enhanced Metafile Format) と RAWの 2つの形式が使われている。
EMFは、 32ビッ卜の Windowsシステム用に開発されたプリン夕用の フォーマットであり、 アプリケーションプログラム等で作成可能である。 しかし、 EMFデータを受信して印刷できるのは、 EMF対応のプリン夕 に限られる。 EMF対応しないプリン夕の場合は、 デ一夕を RAWデータ に変換して印刷することができる。 RAWデータは、 プリンタ 6 9の機種 に依存するため、 プリンタ 6 9ごとに対応するドライバで作成する。
〔印刷の流れ〕
アプリケーションプログラム 4からプリンタ 6 9へ印刷するときの印刷 データの流れの概略を以下に説明する。 アプリケーションプログラム 4は GD I 32 (6 1) に対して印刷要求を出す。 アプリケーションプロダラ ム 4からの印刷要求と出力データは、 OS 3のユーザモードで動作する G D 1 32 (6 1) へ送信される。 データのフォーマット形式が EMFの場 合、 GD I 32 (6 1) はデータをスプーラ 6 5ヘスプーラ用デ一夕とし て送る。
デ一夕のフォーマツト形式が E M Fではない場合、 GD I 3 2 (6 1) はデータを G R E 62へ渡す。 G R E 6 2がプリンタグラフィックドライ バ 63を呼び出して、 データからスプーラ用データの作成を行う。 作成さ れたスプーラ用データは、 プリン夕ィンターフェースドライバ 64へ送ら れる。 プリン夕ィン夕ーフェースドライバ 64は印刷の諸設定を行って、 スプーラ 6 5に渡す。
スプーラ 6 5は、 スプーラ用データをスプーリングして、 一時ファイル を作成して /、一ドディスクに保存する。 スプーラ 6 5は、 この一時フアイ ルを読み込み、 データを言語モニタ 6 6へ渡す。 言語モニタ 66は、 プリ ン夕 69に適した印刷可能な印刷データを作成する。 印刷デ一夕は、 ポー トモ二夕 67を通って、 プリン夕デバイスドライバ 68へ送信される。 図 12に示すフローチヤ一トを参照しながらプリン夕 69への印刷手順 を説明する。 アプリケーションプログラム 4は印刷要求を GD I 32 (6 1)に対して出し(S 300)、印刷するデータを送信する。 GD I 32 (6 1 ) は印刷要求とデー夕を受け取つて (S 30 1)、 そのデータを解析する (S 302)。 そして、 GD I 32 (61) はデ一夕のフォーマツ卜形式を 判定し (S 303)、 フォーマット形式が EMF (Ye s判定) の場合はス プーラ 65ヘスプーラ用デー夕として送る (S 3 1 5→S 316)。
EMF形式ではない(No判定)場合は、データを GRE 62へ渡す(S 304)。 GRE 62はデータを受け取り (S 305)、 プリン夕グラフィ ックドライバ 63を呼び出してデータを渡す(S 306)。プリン夕グラフ イツクドライバ 63がデータを受け取り (S 307)、スプーラ用デ一夕の 作成を行う (S 308)。作成されたスプーラ用データは GRE 62へ渡す (S 309)。 GRE 62はスプーラ用データを受け取り (S 310)、 こ れをプリンタインターフェースドライバ 64へ送る (S 31 1 )。
プリンタイン夕ーフェースドライバ 64は、 スプーラ用データを受け取 り (S 312)、 印刷の諸設定を行い (S 3 13)、 スプーラ 65へ送信す る (S 314→S 316)。 スプーラ 65は、 スプーラ用データを受け取り (S 3 16)、スプーラ用データのスプーリング処理を行って一時ファイル を作成し (S 31 7)、 ハードディスクに保存する (S 31 8)。 この一時 ファイルはスプーラ 65に読み込まれて、 言語モニタ 66へ渡される (S 319)。言語モニタ 66は、 一時フアイルから印刷用デー夕を作成し (S 320)、 ポートモニタ 67へ送る (S 321)。
ポートモニタ 67は、 印刷用デ一夕を受信し (S 322), プリン夕デバ イスドライバ 68へ送り (S 323)、 プリン夕デバイスドライバ 68は印 刷用データを最終的にプリンタ 6 9へ送信する (S 3 2 4 )。 よって、 アブ リケ一ションプログラム 4から印刷要求されたデー夕が印刷される。 スプ ーリングされたデータは、 プリンタデバイスドライバ 6 8へ送信される間 では、 言語モニタ 6 6とポ一トモ二夕 6 7の監視下になる。
国際公開された W〇 0 2 X 0 9 1 1 9 5号公報では、 電子計算機のデバ イスドライバ間でのデータの送受信をカーネルモードで動作する共通のィ ンターフェ一スを開示している。 この共通イタ一フェースはセキュリティ 等のために印刷履歴を取得、 ユーザの印刷作業を管理して制限する技術を 提案したものではない。
一方、 個人情報の保護、 秘密データの管理等のセキュリティの上では電 子計算機から印刷装置に印刷する印刷作業、 印刷されるデータの管理が重 要である。 そのために、 印刷履歴を取得、 ユーザの印刷作業を制限するこ とが必要な場合がある。また、特定のファイルを印刷しょうとするときに、 その作業を中断、 又は、 印刷データをすり替えて印刷する等の印刷制御が 望ましいこともある。
しかし、 電子計算機の O Sによりこのような印刷制御をすることは、 困 難な作業である。 印刷デ一夕は O Sのユーザモード、 カーネルモードの複 数のサービス、 デバイスドライバと、 これらの複雑な一連の動作によって 印刷装置に送られる。 このため、 印刷制御しょうとする印刷データを的確 に制御することは困難である。 また、 カーネルモードで動作しているドラ ィバを制御することは O Sの不安定な動作を招きかねないので、 従来の印 刷制御システムではこのような制御は行わない。 発明の開示
本発明は上述のような技術背景のもとになされたものであり、 下記の目 的を達成する。 本発明の目的は、 電子計算機から印刷装置にアクセスし、 データを印刷 するとき、 印刷の停止、 中断、 印刷データの摩り替え等の印刷制御をする 印刷制御プログラムを格納した電子計算機、 そのプログラム及びプログラ ムの記録媒体を提供する。
本発明の他の目的は、 電子計算機から印刷装置へのァクセスをカーネル モードで制御する印刷制御プログラムを格納した電子計算機、 そのプログ ラム及びプログラムの記録媒体を提供する。
本発明の更に他の目的は、 電子計算機から印刷装置へアクセスしたァク セスログをカーネルモードで取得する印刷制御プログラムを格納した電子 計算機、 そのプログラム及びプログラムの記録媒体を提供する。
本発明の更に他の目的は、 電子計算機から印刷装置へアクセスしたァク セスログをネットワークへ転送する印刷制御プログラムを格納した電子計 算機、 そのプログラム及びプログラムの記録媒体を提供する。
本発明の更に他の目的は、 電子計算機から印刷装置へ特定のアクセスが 行われたとき所定条件で制御する印刷制御プログラムを格納した電子計算 機、 そのプログラム及びプログラムの記録媒体を提供する。
本発明の印刷制御プログラムを格納した電子計算機、 そのプログラム及 びプログラムの記録媒体は次の利点を有する。
本発明は、 アプリケーションプログラムから印刷されるデータ、 印刷要 求をしているアプリケーションプログラム、 及びユーザを的確に把握する ことができ、 この把握した内容によって印刷の停止、 中断、 印刷データの 摩り替え、 印刷可能な期間の指定等の柔軟な条件で印刷制御をすることが できる。
本発明は、 電子計算機から印刷装置へのアクセス制御を、 電子計算機の O Sの動作モードであるカーネルモードで行う。 このアクセス制御はデー 夕べ一スを用いて制御するためファイルへのアクセスを制御することが自 由になり、 データベースを変更するだけで所定の制御が可能になる。
本発明は、 アプリケーションプログラムとデバイスドライバとの共通の ィン夕一フェースを用い、 このィンターフェースドライバのプログラムを 利用して印刷出力を制御するので、 データの秘密性が保護され、 かつデー 夕の安全転送を図ることができる。
即ち、 本発明の第 1の発明の印刷制御プログラムを格納した電子計算機 は、 オペレーティングシステム (OS) によって動作している電子計算機 から印刷装置 (69) へ印刷データの出力を行うとき、 前記オペレーティ ングシステム上で動作しているアプリケーションプログラム (4) から前 記印刷装置 (69) へ印刷を行うために出される印刷要求と出力データを 検出するための検出手段 (43) と、 前記出力データを加工して前記印刷 データを作成し、作成された前記印刷データを一時的に記憶媒体に保存し、 前記印刷装置 (69) へ出力するためのスプーラ (65) と、 前記アプリ ケーシヨンプログラム (4) から前記印刷装置 (69) に印刷するために 出力される前記出力データを制御する制御手段 (7, 41) とを含む印刷 制御プログラムを有し、
前記制御手段 (7, 41) は、 前記オペレーティングシステム (OS) の全ての命令を実行できるカーネルモードで動作し、 かつ複数のデバイス ドライバ間でデータの送受信を行うための共通インタ一フェースドライバ (7) と、 前記オペレ一ティングシステム (OS) のユーザモードで動作 し、 前記オペレーティングシステム (OS) のイベントを監視するための 監視部 (43) と、 前記オペレーティングシステム (OS) の全ての命 令を実行できる力一ネルモードで動作し、 前記印刷装置 (69) を制御す るプリンタデバイスドライバ (68) の前に挿入され、 前記スプーラ (6 5) から前記印刷装置 (69) に送られる前記印刷データを制御するため のフィル夕 (41 ) とを含み、 前記共通インタ一フェースドライバ (7) は、
前記アプリケーションプログラムとのィンタ一フェースであるアプリケ ーシヨンイン夕一フェース部 (1 7) と、
前記印刷データを制御する制御条件を確認し、 制御用の命令を前記フィ ル夕 (41) に送信するプリン夕出力監視ドラィバ部 (42) と、 記憶装置へアクセスし前記制御条件を取得し、 前記プリン夕出力監視ド ライバ部 (42) へ渡すデータ入出力部 (20, 30) とを含み、 前記監視部 (43) は、 前記スプーラ (65) が動作するときに発生す るイベントで前記印刷要求を検出し、 検出した前記印刷要求を前記アプリ ケーシヨンイン夕一フェース部 (17) を介して前記プリンタ出力監視ド ライバ部 (42) へ渡し、
前記プリン夕出力監視ドライバ部(42)は、前記印刷要求を受け取り、 前記印刷要求に対する制御命令を前記フィルタ (41) に送信し、 かつ 前記フィル夕 (41) は、 前記制御命令に従って前記印刷デ一夕を予め 決められた前記制御条件で制御することを特徴とする。
本発明の第 2の発明の印刷制御プログラムを格納した電子計算機は、 前 記監視部 (43) は、 前記スプーラ (65) が動作するときに発生するィ ベントで前記印刷要求を検出し、 検出した前記印刷要求を前記アプリケ一 シヨンインターフェース部 (17) を介して前記プリン夕出力監視ドライ バ部 (42) へ渡し、 前記プリンタ出力監視ドライバ部 (42) は、 前記 印刷要求を受け取り、 前記スプーラ (65) によって作成され、 保存され たスプーラ一時ファイルを前記制御条件によって制御することを特徴とす る。
本発明の第 3の発明の印刷制御プログラムを格納した電子計算機は、 前 記制御手段 (7, 41) は、 第 2プリンタ出力監視ドライバ部 (48) と を含み、 前記出力データが前記スプーラ (65) に渡されるとき、 前記第 2プリンタ出力監視ドライバ部 (48) を介し、 前記第 2プリンタ出力監 視ドライバ部 (48) は、 前記プリン夕出力監視ドライバ部 (42) から 前記制御条件、 前記制御命令を受け取り、 前記印刷データの制御を行うこ とを特徴とする。
本発明の第 4の発明の印刷制御プログラムを格納した電子計算機は、 前記第 2プリン夕出力監視ドライバ部 (4 8 ) は、 前記前記出力データ が前記スプーラ ( 6 5 ) に送られるとき前記印刷要求を検出し、 検出した 前記印刷要求を前記アプリケーシヨンィンターフェース部 ( 1 7 ) を介し て前記プリン夕出力監視ドライバ部 ( 4 2 ) へ渡し、 前記プリン夕出力監 視ドライバ部 (4 2 ) は、 前記印刷要求を受け取って、 前記印刷要求に対 する制御命令を前記フィル夕 ( 4 1 ) に送信し、前記フィル夕 ( 4 1 ) は、 前記制御命令に従って前記印刷データを予め決められた制御条件で制御す ることを特徴とする。
前記制御条件は、 前記データ出力の停止、 前記デ一夕出力の出力スピ一 ドの変更、 及び前記デ一夕出力の一部の繰り返し出力の中から選択される
1以上であると良い。
また、 前記制御条件は、 前記スプーラ一時ファイルの属性の変更、 前記 スプーラ一時ファイルの中身の変更、 及び前記スプーラ一時ファイルの中 身を削除し空ファイルにする制御の中から選択される 1以上であると良い。 更に、 前記制御条件は、 印刷制御を対象とするファイル、 印刷できる期 間を示す印刷期間、 前記ファイルを印刷できないアプリケ一ションプログ ラム、 ユーザ、 制御の種類いずれか又は組み合わせであると良い。
また更に、 前記検出手段は、 前記イベントが発生すると前記イベントと 連動してフックプログラムを動作させるステップからなり、 前記フックプ ログラムは、 前記ィベント発生を制御手段へ通知する送信ステップを有す ると良い。
前記制御手段は、 前記印刷制御を行った口グを取得して、 ログデータべ ースに保存する機能を備えて、 前記ログデータベースは、 印刷を行ったュ 一ザを示すユーザの欄、印刷を行ったファイルを示す印刷ファイル名の欄、 印刷を行ったアプリケーションプログラムを示すアプリケーションプログ ラムの欄、 印刷を行った印刷装置を示すプリン夕の欄、 印刷を行った条件 設定を示す印刷条件の欄、 印刷を行った日時を示す日時の欄、 印刷制御を 行つた印刷制御の欄から構成されていると良い。
前記本発明 1ないし 4の印刷制御プログラムを格納した電子計算機であ つたが、 本発明は前記印刷制御プログラム又は前記印刷制御プログラムを 記録した媒体を含むものであっても良い。 図面の簡単な説明
図 1は、 本発明の第 1の実施の形態の電子計算機の印刷制御プログラム の機能の概要を示す概念図である。
図 2は、 制御条件データベースの構成を示す図である。
図 3は、 スプ一リングイベントの検出を示す図である。
図 4は、 共通インターフェースドライバの動作を示す図である。
図 5は、 印刷制御の流れを示すフローチャートである。
図 6は、 フィル夕の動作を示すフローチャートである。
図 7は、 スプーリングイベント検出の他の例を示す図である。
図 8は、 本発明の第 2の実施の形態の電子計算機の印刷制御プログラム の機能の概要を示す概念図である。
図 9は、 ログファイルの例を示す図である
図 1 0は、 印刷ログの取得動作を示すフローチャートである。
図 1 1は、 従来の印刷関連サービスを示す概念図である。
図 1 2は、 従来の印刷の流れを示すフローチャートである。
図 1 3は、 本発明の第 3の実施の形態の電子計算機の印刷制御プロダラ ムの機能の概要を示す概念図である。
図 1 4は、 制御条件データベースの構成を示す図である。 発明を実施するための最良の形態
次に、 本発明の実施の形態を説明する。 図 1は、 本発明の第 1の実施の 形態の電子計算機の印刷制御プログラムの機能を示す概念図を図示してい る。
共通ィン夕ーフェースドライバ 7はカーネルモード 8で動作するドライ バである。 共通インターフェースドライバ 7は、 アプリケーションプログ ラム 4等のユーザモード 9で動作するプログラムやサービスに対して、 力 一ネルモ一ド 8で動作するドライバへの共通のインターフェースを提供す るためのものである。 また、 これは、 カーネルモード 8で動作するドライ バ間にデータの送受信ができる共通のインターフェースを提供する機能も 果たす。 この共通イタ一フェースについては、 本発明者等が提案したもの であり、 国際公開 WO O 2 / 0 9 1 1 9 5号公報等で公知であり、 かつ本 発明の要旨でもないのでその詳細な説明については省略する。
共通ィン夕ーフェースドライバ 7は、 アプリケーションィンターフェ一 ス部 1 7、 フロー制御部 2 5、 データ処理部 1 9、 T D Iクライアントド ライバ部 (TDI Cl ient Driver 部) 2 0、 アクセスデータ管理部 3 0、 プ リンタ出力監視ドライバ部 4 2等から構成され、 各部分の機能は次の通り である。
アプリケーションイン夕一フェース部 1 7は、 アプリケーションプログ ラム 4と共通ィン夕一フェースドライバ 7間のィン夕ーフェースである。 アプリケーションインターフェース部 1 7は、 アプリケーションプログラ ム 4からのファイルアクセス要求等のコマンドを受け取り、 そのコマンド の実行結果、 またはフロー制御部 2 5から受信したその他のデータをアブ リケ一ションプログラム 4に送信するためのものである。 データ処理部 1 9は、 アクセスデータ管理部 3 0 , T D Iクライアントドライバ部 2 0へ の入出力を行うためのものである。 T D Iクライアントドライバ部 2 0は、 ネットワークドライバ 2 1と共 通ィン夕ーフェースドライバ 7とのインターフェースである。 ネットヮー クドライバ 2 1は、プロトコルドライバ 2 2と、 N D I S (Network Driver Interface Speci f icat ion) ドライバ 2 3から構成され、 ネットワーク力一 ド 1 6を制御し、 ネットワーク 2 6へデータを伝送するときの接続の確立 とプロトコルの制御を行う。
プロトコルドライバ 2 2は、 ネットワーク 2 6にデータを転送する際の 通信プロトコルを制御するものである。 N D I Sドライバ 2 3は、 プロト コルドライバ 2 2とネットワークカード 1 6とのィン夕ーフェースを提供 するものである。 T D Iクライアントドライバ部 2 0は、 パケット化され たデータをデータ処理部 1 9から受け取ってプロトコルドライバ 2 2に出 力する。
フロー制御部 2 5は、 アプリケーションインターフェース部 1 7を介し て受け取ったアプリケーションプログラム 4からの命令等を解析して、 デ 一夕処理部 1 9、 プリン夕出力監視ドライバ部 4 2等に指示を出して制御 するためのものである。 データベース 3 5は、 ハードディスク等の補助記 憶装置に格納される。 データベース 3 5には、 ユーザのファイルに関する 情報が格納されている。 アクセスデータ管理部 3 0は、 データベース 3 5 を参照 ·登録 ·制御し管理するためのものである
共通インターフエ一スドライバ 7は、 プリン夕出力監視ドライバ部 4 2 等を含むものである。 プリンタ出力監視ドライバ部 4 2は、 プリンタ 6 9 へのデータの出力を監視し、 必要に応じてプリンタ 6 9への出力を制御す るものである。 プリン夕出力監視ドライバ部 4 2は、 後述するようにプリ ン夕 6 9へのプリン夕出力のログを取得し、 かつ共通ィンターフェースド ライパ 7の他の各機能部 1 9、 2 0、 3 0、 2 5等を介して、 プリン夕出 力のログを電子計算機 1のハードディスクに保存、 又はネッ卜ワークカー ド 1 6、 ネットワーク 2 6を介して他の電子計算機に送信して保存するこ とができる。
プリン夕出力監視ドライバ部 4 2は、 データベース 3 5に予め設定され ている制御条件によって、 プリン夕 6 9への出力を制御する。 例えば、 ュ 一ザが特定のファイルを印刷しょうとするときに、その作業を制限、中断、 停止させる。 あるいは、 ユーザが印刷しょうとする印刷デー夕を摩り替え て別のものを印刷する。 更に、 プリン夕 6 9への印刷を非常に遅くする制 御も可能である。
無論、 これらの制御に関して、 管理者又は管理サーバへの通知を行うこ とができる。 管理サーバ (図示せず) からはネットワーク 2 6を介して電 子計算機 1へアクセスし、 データベース 3 5の内容を変更することによつ て、 プリンタ 6 9への制御を変更又は中断/再開することも可能である。 管理サーバは、 フロー制御部 2 5へ命令を送り、 フロー制御部 2 5はその 命令に従ってプリン夕出力監視ドライバ部 4 2へ指示を出し、 プリンタ 6 9への出力を制御することもできる。
データ処理部 1 9は、 フロー制御部 2 5とプリンタ出力監視ドライバ部 4 2との情報を元に印刷のログを作成し、 データベース 3 5に保存する機 能を有する。また、このログを T D Iクライアントドライバ部 2 0へ送り、 ネットワーク 2 6に接続されている別の電子計算機へ送信する。
ユーザモード 9では、 インターフェース部 4 3が設けられてあり、 主に ユーザモード 9で動作する〇 S 3のサービス、 アプリケーションプロダラ ム 4とのィンターフェースを提供する。 ィン夕ーフェース部 4 3には、 ァ プリケーシヨンプログラム 4の動作状況を監視しインターフェースを提供 するためのアプリケーション監視部 4 4、 スプーラ 6 5等の印刷関連のサ —ビスを監視するための印刷監視部 4 5がある。
スプーラ 6 5から共通インターフェースドライバ 7への情報はこの印刷 監視部 4 5を通って行われる。 共通インターフェースドライバ 7は、 アブ リケーションプログラム 4等と直接デー夕の送受信を行うことができる。 データベース 3 5には、 ファイルとそれに対する制御のデータを有する 制御条件デ一夕ベース 3 6がある。 制御条件データベース 3 6は図 2に図 示したようなテーブル 1 0 0からなる。 テーブル 1 0 0は、 ファイルを印 刷するときにどのような制限をするか等の制御条件を示すテーブルである。 テーブル 1 0 0は、 「ファイル名」 1 0 1の欄と 「制御の種類」 1 0 2の欄 からなつている。 「ファイル名」 1 0 1の欄は制御対象のファイルの一覧で ある。
「制御の種類」 1 0 2の欄は、 「ファイル名」 1 0 1の欄に示す各フアイ ルに対して予め設定する制御の種類である。 制御は、 プリンタ出力監視ド ライバ部 4 2からフィル夕 4 1に出される命令として行われる。 例えば、 この制御の種類は、 「印刷停止」 1 0 3、 「負荷」 1 0 4、 「白紙印刷」 1 0 5、 「ウォー夕一マーク」 1 0 6、 「印刷完了通知」 1 0 7、 「書き込み成功」 1 0 8、 「スプーラ読出し不可」 1 0 9の欄からなる。 「印刷停止」 1 0 3 は、 対象ファイルの印刷を停止する制御であり、 プリンタ出力監視ドライ バ部 4 2はフィルタ 4 1に対してプリン夕 6 9へ印刷データを出力しない ようにする命令を出す。
「負荷」 1 0 4は、 対象ファイルの印刷作業を遅くする、 即ち負荷をか ける制御であり、 プリンタ出力監視ドライバ部 4 2はフィルタ 4 1に対し てプリン夕 6 9へ印刷データを時間的に遅く出力するようにする命令を出 す。 「白紙印刷」 1 0 5は、対象ファイルの印刷の変わりに真っ白のページ を印刷する制御であり、 プリン夕出力監視ドラィバ部 4 2はフィル夕 4 1 に対してプリン夕 6 9へ印刷データを削除して、 その代わりに白紙を印刷 するデータを出力するようにする命令を出す。
「ウォーターマーク」 1 0 6は、 対象ファイルの印刷には特殊の字 ·文 章を上書きするウォーターマークを印刷する制御であり、 プリンタ出力監 視ドライバ部 4 2はフィルタ 4 1に対してプリンタ 6 9への印刷データに ウォー夕一マークを負荷して出力するようにする命令を出す。 「印刷完了 通知」 1 0 7は、 対象ファイルを印刷するときに、 プリンタデバイスドラ ィバ 6 8からプリン夕 6 9への印刷が完了したように見せかけて通知する 制御である。 この制御のとき、 プリンタ出力監視ドライバ部 4 2はフィル 夕 4 1に対してその胸のメッセージを送信するようにする命令を出す。
「書き込み成功」 1 0 8は、 スプーラ 6 5がー時ファイルを作成しハー ドディスクに書き込むときの制御であり、 スプーラ 6 5へ書き込みが成功 した旨の通知をするものである。 このときは、 作成された一時ファイルの 内容を削除し空のファイルにする。 「スプーラ読出し不可」 1 0 9の場合は、 スプーラ 6 5が作成した一時ファイルの属性を変更してスプーラ 6 5が再 度読み込み出来ないようにして印刷を停止させる制御である。
(印刷制御の方法)
プリン夕 6 9への出力を制御するためには、 アプリケーションプログラ ム 4等から出される印刷要求の出力を検出する。 印刷要求を検出したらァ プリケーシヨンプログラム 4からプリン夕 6 9に送られる印刷デ一夕を制 御する。 印刷要求の検出は、 スプーラ 6 5がー時ファイルを作成する機能 を利用している。 印刷作業又は印刷データを制御する印刷制御は、 力一ネ ルモード 8で動作するプリン夕デバイスドライバ 6 8へ印刷データを送信 する機能、 スプ一リング、 印刷装置へのアクセスのいずれかを制御してい る。
スプーリングされた印刷用データは、 言語モニタ 6 6とポートモニタ 6 7を通って、 プリン夕デバイスドライバ 6 8へ送信される。 ポー卜モニタ 6 7は、 プリン夕 6 9へ出力するポートをモニタリングし、 プリンタ 6 9 が空いているときに印刷デ一夕をプリンタデバイスドライバ 6 8へ送信す る。 プリン夕デバイスドライバ 6 8は、 実際にハードウェアを制御するた めのドライバであり、 プリン夕 6 9を直接制御して印刷処理を行う。
(印刷要求の検出)
図 3を参照して印刷要求の検出を説明する。 スプーラ 6 5は、 G D I 3 2 ( 6 1 ) 又はプリンタインターフェ一スドライバ 6 4から送られてくる スプーラ用データを受信する。 そして、 スプーラ 6 5はスプーリングを開 始すると、 スブーリングイベントが発生する。 イベントは、 ハードウェア 又はソフトウエアの動作状態が変化するときに、 その変化を他のハードウ エア又はソフトウエアに通知することである。 スプーリングイベントは、 スプーリングが行われていることを示す。
スプーリングイベントは O S 3のイベント管理に登録されており、 スプ 一リングイベントが発生するとスブーリングイベントに関連付けられて登 録されているフックプログラム 7 1が動作を開始する。 フックプログラム 7 1は、 スプーリングプログラムに割り込みをかけてフックプログラム 7 3を動作させる。
フックプログラム 7 3が開始し(S 1 )、印刷イベント発生したことを共 通インターフェースドライバ 7へ通知する (S 2 )。そして、 共通インタ一 フェースドライバ 7からの返事を待って待機する ( S 3 )。共通インターフ エースドライバ 7から返事の通知を受け取るとフックプログラム 7 3が終 了し (S 4、 S 5 )、 スプーリングプログラムのプログラム本体 7 2が開始 する。
よって、 スプーリング用データのスプーリングが引き続き行われる。 こ のスブーリング作業は、 従来技術で詳しく説明しているため省略する。
(印刷制御の手順)
次に、 印刷時の印刷制御の手順を図 4のフローチャートを参照して説明 する。 印刷監視部 4 5が、 全てのスプ一リングイベントを監視している。 印刷監視部 45はスプ一リングイベントが発生すると、 印刷要求をしたァ プリケーシヨンプログラム 4と関連付けて、 「スプ一リングイベントの通 知」 を作成する。 「スプ一リングイベントの通知」 は、 アプリケーションィ ンタ一フェース部 1 7へ送られてくる。
アプリケーションィン夕一フェース部 1 7は、 「スプーリングイベン卜 の通知」 を受信し (S 50)、 フロー制御部 25へ送る ( S 51 )。 フロー 制御部 25は、 アプリケーションインタ一フェース部 1 7からの 「スプ一 リングイベントの通知」 を受信し (S 52)、 解析する (S 53)。 データ をデータ処理部 1 9へ送信する (S 54)。
データ処理部 19は、デ一夕を受信する(S 55)。データ処理部 1 9は、 データベース 35に登録されている、 制御条件データベース 36を参照し (S 56)、印刷しょうとしているファイル名に関連づけられたテーブル 1 00から制御条件を参照し、 ファイル名 10 1に対する制御条件を取得す る (S 57)。 データ処理部 19は、 データべ一ス 35へのアクセスデータ 管理部 30を介してアクセスするが、 説明上は省略している。
取得したファイル名 10 1と制御条件をプリンタ出力監視ドライバ部 4 2に送信する (S 58)。 例えば、 図 2のテーブル 1 00を参照して、 「フ アイル名」 10 1欄の 「ファイル 1」 を印刷しょうとするときは、 データ 処理部 19は「印刷停止」の制御条件を取得し、 「ファイル 1」、 「印刷停止」 をプリン夕出力監視ドライバ部 42に送信する。
プリンタ出力監視ドライバ部 42は、 フアイル名と制御条件を受け取り (S 59)、プリン夕デバイスドライバ 68とポートモニタ 67の中間に設 けているフィル夕 41へ制御条件を送信する (S 60)。 そして、 「命令出 力完了」 の通知をフロー制御部 25へ送信する (S 6 1 )。
フロー制御部 25は、 「命令出力完了」 を受信し (S 62)、 アプリケー シヨンインターフェース部 17へ 「スプーリングイベント受信完了」 を送 信する (S 63)。 アプリケーションインターフェース部 1 7は、 「スプ一 リングイベント受信完了」を受信し (S 64)、フックプログラム 73へ「ス プ一リングイベント受信完了」 を通知する (S 65)。 よって、 一連の印刷 制御の条件設定が終了する。
(印刷制御の流れ 1)
図 5は印刷制御の流れの一例を示すフローチヤ一トであり、 印刷せずに 擬似信号である 「印刷完了」 信号を送信して実際の印刷をしない制御の例 である。 スプーラ 65がスプーラ用データを受信し (S 81)、 一時フアイ ルを作成し (S 82)、 ハードディスクに保存する。 スプーラ 65が、 この 一時ファイルを再度読み込み、 プリンタ 69に対応する言語モニタ 66へ 渡す (S 83)。 言語モニタ 66は、 印刷用データを作成して (S 84)、 ポートモニタ 67へ渡す(S 85)。 ポ一トモ二夕 67は、 フィルタ 41へ 印刷用データを送信する (S 86)。
フィルタ 41は、 印刷用データを受け取り、 「印刷完了」 を返信する (S 87)。 ポートモニタ 67は 「印刷完了」 を受け取り、 「印刷完了」 を言語 モニタ 66へ送信する(S 88)。言語モニタ 66は「印刷完了」を受信し、 スプーラ 65へ 「印刷完了」 を送信する (S 89)。 スプーラ 65は、 「印 刷完了」を受信して、 「印刷完了」をアプリケーションプログラム 4へ送信 する (S 90)。
(フィルタ 41の動作)
図 6は、 前述した 「印刷完了」 制御の場合のフィルタ 41の動作を示す フローチャートである。 プリン夕出力監視ドライバ部 42がフィルタ 41 へ制御条件を送信する (S 60→S 1 0 1)。 フィルタ 41が制御条件を受 信して (S 102)、 待機する (S 103)。 フィルタ 41はプリン夕出力 監視ドライバ部 42から命令、 又はポートモニタ 67から印刷データが送 信されてくるまで待機する。 フィル夕 41がポ一卜モニタ 67から印刷デ 一夕を受信する (S 1 0 4 )。
フィルタ 4 1が印刷データを受信完了したら 「印刷完了」 をボートモ二 夕 6 7へ返信する(S 1 0 5→S 8 7 )。 この印刷データの制御条件を判定 する (S 1 0 6 )。 印刷データは制御条件に合っている ( Y e s判定) 場合 は、 制御条件を実行する ( S 1 0 7 )。 印刷データは制御条件に合ってない ( N o判定) 場合は、 印刷データをプリンタデバイスドライバ 6 8へ送信 する (S 1 0 8 )。 制御条件に合ってない (N o判定) 印刷データは制御し ないデータであるため、 プリンタデバイスドライバ 6 8へ送信されて普段 通り印刷される。
印刷データの制御の結果をプリン夕出力監視ドライバ部 4 2へ通知する ( S 1 0 9 )。 上記例の 「ファイル 1」 を 「印刷停止」 する場合は、 フィル 夕 4 1は事前にプリンタ出力監視ドライバ部 4 2から 「印刷停止」 の命令 を受け取つているため、 印刷用データを削除する。 印刷の制御の一種であ る 「印刷停止」 1 0 3の一連の制御である。
同様に、 「負荷」 1 0 4、 「白紙印刷」 1 0 5、 「ウォー夕一マーク」 1 0 6、 「印刷完了通知」 1 0 7等の制御はフィルタ 4 1で制御を行うものであ る。 「負荷」 1 0 4は印刷用データを削除する変わりに、プリン夕デバイス ドライバ 6 8へ非常に遅いスピードで送ることによつて達成できる。 また は、 印刷しょうとするデータの一部を繰り返してプリン夕デバイスドライ ノ 6 8へ送信する。 「白紙印刷」 1 0 5は、 印刷用デ一夕を削除して、 プリ ンタデバイスドライバ 6 8へ白紙のページを印刷する命令を出力する。 「ウォーターマーク」 1 0 6は、 印刷用データの上にウォーターマークを つけて、 そのデータをプリン夕デバイスドライバ 6 8へ送信する。
(印刷制御の流れ 2 )
次にフィル夕 6 8ではなくスプーラ 6 5の機能を利用して印刷制御を行 う例を説明する。プリンタ出力監視ドライバ部 4 2は、 「スプーラ読出し不 可」 1 0 9の印刷制御の命令を受け取って、 スプーラ 6 5が作成する一時 ファイルの監視をはじめる。 この監視は、 一定の時間ごとに一時ファイル の書き込み情報を受け取り、 書き込みが終了したかを監視する。 一時ファ ィルの書き込みが終了したら、 スプーラ 6 5がこの一時ファイルを読み込 みできないようにファイルの属性を書き換える。
よって、 スプーラ 6 5は続けて、 一時ファイルを読み込んで言語モニタ 6 6へ渡し、印刷を続けて行うことができなくなる。また、 「書き込み成功」 1 0 8の場合、 プリンタ出力監視ドライバ部 4 2は、 スプーラ 6 5がハ一 ドディスクに書き込みした一時ファイルを削除し、 同様のファイル名の空 のファイルを作成しておく。 このとき、 スプーラ 6 5から見れば一時ファ ィルの作成が成功したかのように見え、 通常通り次の処理に移る。 最終的 には、 空のフアイルが印刷されるため本来の印刷デー夕が印刷されない。 以上説明した印刷の制御は、 スプーラ 6 5又はプリンタデバイスドライ バ 6 8への出力の機能を利用して行っているがこれだけに限るものではな レ^ 言語モニタ 6 6、 プリンタインターフエ一スドライバ 6 4、 プリン夕 グラフィックドライバ 6 3の機能を利用しても良い。また、 G D I 3 2 ( 6 1 ) から G R E 6 2へデ一夕を渡すときに、 その中間にフィルタを作成し て印刷制御を行つても良い。
(印刷制御の他の例)
図 3に示したスプーラ 6 5の印刷要求の検出は、 図 7に図示するような 手順であっても良い。 スプーラ 6 5は、 G D I 3 2 ( 6 1 ) 又はプリンタ ィンターフェースドライバ 6 4から送られてくるスプーラ用デ一夕を受信 する。 スプーラ 6 5がスプーリングを開始するとスプ一リングイベントが 発生する。 スプーリングイベントが発生するとスプーリングイベン卜に関 連付けられて登録されているフックプログラム 7 1が動作を開始する。 フ ックプログラム 7 1は、 スプーリングプログラムに割り込みをかけてフッ クプログラム 7 3を動作させる。
フックプログラム 7 3が開始し ( S 1 1 )、印刷イベントが発生したこと を共通ィンターフェースドライバ 7へ通知する(S 1 2 )。共通ィンターフ エースドライバ 7へ通知して、 フックプログラム 7 3が終了し (S 1 3 )、 スプーリングプログラムへ戻り、プログラム本体 7 2が開始する。よって、 スプーラ 6 5によるスプーリング用データのスプーリングが引き続き行わ れる。
(第 2の実施の形態)
本発明の第 2の実施の形態の印刷制御プログラムは、 プリンタへの出力 したログを取得して、 ハードディスク等に保管する。 図 8は、 第 2の実施 の形態の印刷制御プログラムの機能の概要を示す図である。 プリン夕 6 9 へアクセスして印刷するときに、 この印刷に関連する取得可能な情報とし て、 印刷したユーザ、 印刷したファイル名、 印刷要求したアプリケーショ ン、 プリンタ、 印刷条件、 印刷した日時等がある。 この印刷条件は、 ファ ィルの印刷するとき設定する用紙サイズ、印刷方向、印刷部数、色設定(白 黒 Zカラー印刷)、 画質、 割り付け設定、 ページ指定等の情報である。 ' 印刷するときに、 これらの情報を取得して、 ログファイルとして保存す ることができる。 図 9にはログファイルの例を図示している。 ログフアイ ルは、 「ユーザ」 1 1 1、 「印刷ファイル名」 1 1 2、 「アプリケーション」 1 1 3、 「プリン夕」 1 1 4、 「印刷条件」 1 1 5、 「日時」 1 1 6、 「制御 の種類」 1 1 7の欄からなるテーブル 1 1 0になっている。 「ユーザ」 1 1 1の欄は、 印刷を行ったユーザを示すもので、 印刷した時の電子計算機 1 を利用しているユーザ名である。
「印刷ファイル名」 1 1 2は、 印刷したファイルの名称である。 「アプリ ケーシヨン」 1 1 3は、 印刷を行ったアプリケーションプログラム 4又は サービスの名称である。 「プリンタ」 1 1 4は、印刷したプリン夕の名前で ある。 「印刷条件」 1 1 5は、 ファイルを印刷するときに設定した印刷条件 (前述した) である。 「日時」 1 1 6は、 印刷した日時であり、 例えば 「2 0 0 2年 1 1月 1日 1 0時 4 5分 0 5秒」 と表示する。
「制御の種類」 1 1 7は、 ファイルを印刷したときの制御を示す欄であ る。 「制御の種類」 1 1 7は、 図 2に図示したテーブル 1 0 0での 「制御の 種類」 1 0 2である。 ログファイルは、 共通インターフェースドライバ 7 で情報を取得して、 電子計算機 1のハ一ドディスク等に保存される。 デー 夕ベースになって保存されても良い。 また、 ネットワーク 2 6に接続され ている別の電子計算機等の記憶装置に保存されても良い。
図 1 0は、 ログファイルを取得する手順の例を示すフローチャートであ り、 印刷するときのログを取得する手順を説明する。 印刷要求は、 第 1の 実施の形態で示す手順と同様であり、 データ処理部 1 9が制御条件を取得 してからログファイルを作成するまでの手順を説明する。 データ処理部 1 9が制御条件を取得して (S 5 7→S 7 1 )、 印刷のログの作成を行う (S 7 2 )。
ログには、 図 9に示すようなテーブル 1 1 0の情報がある。 作成した口 グをアクセスデータ管理部 3 0へ送信する (S 7 3 )。アクセスデータ管理 部 3 0はログを受信する(S 7 4 )。アクセスデータ管理部 3 0がハードデ イスク上のデータベース 3 5にアクセスして、 印刷ログデータベース 4 6 にログを追加する (S 7 5 )。
(第 3の実施の形態)
図 1 3は、 本発明の第 3の実施の形態の印刷制御プログラムの機能の概 念を図示している図である。 第 3の実施の形態の印刷制御プログラムは、 G D I 3 2 ( 6 1 ) とスプーラ 6 5の間に、 第 2プリンタ出力監視ドライ バ部 4 8を介在させている点で前述した第 1及び第 2の実施の形態と異な る。 第 2プリンタ出力監視ドライバ部 4 8は、 G D I 3 2 ( 6 1 ) から出 力されるデータを監視して、 制御する機能を有する。 第 3の実施の形態の ものは、 第 1の実施の形態、 第 2の実施の形態のものとは印刷を制御して 履歴を残す基本的な機能は同じであり、 以下に相違する部分だけを説明す る。
第 2プリンタ出力監視ドライバ部 4 8は、 フロー制御部 2 5、 プリンタ 出力監視ドライバ部 4 2と直接的に連絡を取り合っている。 プリン夕出力 監視ドライバ部 4 2は、 指定された条件設定によって印刷制御を行う。 こ の条件設定は、印刷できる時間の指定、印刷するアプリケーションの指定、 ユーザの指定が可能である。 フロー制御部 2 5は、 データベース 3 5から 制御条件を取得して、 プリン夕出力監視ドライバ部 4 2に渡す。
制御条件の例を図 1 4に図示している。 制御条件テーブル 1 2 0は、 フ アイル 1 2 1、 印刷期間 1 2 2、 印刷禁止アプリケ一ション 1 2 3、 ユー ザ 1 2 4、 制御 1 2 5の欄からなっている。 ファイル 1 2 1は、 被制御フ アイルを示す。 印刷期間 1 2 2は、 印刷できる期間を示す欄で、 印刷の開 始時間と終了時間を指定する。 印刷期間 1 2 2は、 特定の日、 特定の日時 で指定しても良い。
印刷禁止アプリケーション 1 2 3は、 印刷制御を行うアプリケーション プログラムを示す。 ユーザ 1 2 4は、 印刷制御を行うユーザを示す。 制御 1 2 5は、 どのような印刷制御を行うかを示す。 例えば、 印刷を禁止する 「印刷禁止」、 印刷を許可する 「印刷許可」、 印刷を待機させる 「待機」 等 の制御であっても良い。
ユーザは、アプリケーションプログラム 4を操作して印刷しょうとする。 アプリケーションプログラム 4からの印刷命令が出され、 印刷デ一夕が G D I 3 2 ( 6 1 ) に渡され、 それからスプーラ 6 5に渡される。 G D I 3 2 ( 6 1 ) と、 スプーラ 6 5との間に入っている第 2プリン夕出力監視ド ライバ部 4 8が印刷データをチェックし、 印刷制御条件に該当するかを判 断する。
印刷制御条件は、 制御条件デ一夕ベース 3 6に格納されていて、 フロー 制御部 2 5によって、 プリンタ出力監視ドライバ部 4 2に渡されている。 また、 共通イン夕一フェースドライバ 7は、 アプリケーションプログラム 4、 それを操作しているユーザを常時監視している。 この情報から得た、 アプリケーシヨンプログラム 4の名称、 ユーザの情報を第 2プリン夕出力 監視ドライバ部 4 8に渡している。
そのため、 印刷デ一夕は、 制御条件に該当するかの判断を第 1プリンタ 出力監視ドライバ部 4 8ですることができる。 印刷データは、 印刷できな いと判断した場合は、 G D I 3 2 ( 6 1 ) に 「印刷工ラー」 メッセージを 返信し、 印刷データをスプーラ 6 5に渡さない。 印刷データは、 印刷でき ると判断した場合は、 印刷データをスプーラ 6 5に渡す。
第 2プリンタ出力監視ドライバ部 4 8は、 プリンタ出力監視ドライバ部 4 2とデータの送受信を行うことができる。 プリン夕出力監視ドライバ部 4 2は、 第 2プリン夕出力監視ドライバ部 4 8からの指示によって、 フィ ル夕 4 1に指示して印刷制御を行うことができる。 産業上の利用分野
本発明は、電子計算機から印刷を行うとき、印刷するときのログの取得、 その保存、 印刷データの制御、 印刷制御を行うことができている。 そのた め、 印刷データの管理が重要な分野、 例えば、 個人情報、 国家機密情報、 企業秘密等の管理システムに組み込んで利用すればよりセキュリティ上の 安全が高めることが可能で、 管理が容易になる。

Claims

1. オペレーティングシステム (OS) によって動作している電子計算 機から印刷装置 (69) へ印刷データの出力を行うとき、 前記オペレーテ ィングシステム上で動作しているアプリケーションプログラム (4) から 前記印刷装置 (69) へ印刷を行うために出される印刷要求と出力データ 請
を検出するための検出手段 (43) と、
前記出力データを加工して前記印刷データを作成し、 作成された前記印 刷データを一時的に記憶媒体に保存し、 前記印刷装置 (69) へ出力する ためのスプーラ (65) と、
前記アプリケーションプログラム (4) から囲前記印刷装置 (69) に印 刷するために出力される前記出力データを制御する制御手段 (7, 41) と
を含む印刷制御プログラムを格納した電子計算機において、
前記制御手段 ( 7 , 41 ) は、
前記オペレーティングシステム (OS) の全ての命令を実行できる力一 ネルモードで動作し、 かつ複数のデバイスドライバ間でデータの送受信を 行うための共通インターフェースドライバ (7) と、
前記オペレーティングシステム (OS) のユーザモードで動作し、 前記 ォペレ一ティングシステム(OS)のイベントを監視するための監視部(4 3) と、
前記オペレーティングシステム (OS) の全ての命令を実行できるカー ネルモードで動作し、 前記印刷装置 (69) を制御するプリン夕デバイス ドライバ (68) の前に挿入され、 前記スプーラ (65) から前記印刷装 置 (69) に送られる前記印刷データを制御するためのフィルタ (41) とを含み、
前記共通インターフェースドライバ (7) は、 前記アプリケーションプログラムとのィン夕ーフェースであるアプリケ ーシヨンインターフェース部 (1 7) と、
前記印刷データを制御する制御条件を確認し、 制御用の命令を前記フィ ル夕 (41 ) に送信するプリン夕出力監視ドライバ部 (42) と、 記憶装置へアクセスし前記制御条件を取得し、 前記プリンタ出力監視ド ライバ部 (42) へ渡すデータ入出力部 (20, 30) とを含み、 前記監視部 (43) は、 前記スプーラ (65) が動作するときに発生す るイベントで前記印刷要求を検出し、 検出した前記印刷要求を前記アプリ ケーシヨンインターフェース部 (1 7) を介して前記プリン夕出力監視ド ライバ部 (42) へ渡し、
前記プリン夕出力監視ドライバ部(42)は、前記印刷要求を受け取り、 前記印刷要求に対する制御命令を前記フィルタ (41) に送信し、 かつ 前記フィルタ (41) は、 前記制御命令に従って前記印刷データを予め 決められた前記制御条件で制御する
ことを特徴とする印刷制御用プログラムを格納した電子計算機。
2. ォペレ一ティングシステム (OS) によって動作している電子計算 機から印刷装置 (69) へ印刷データの出力を行うとき、 前記オペレ一テ ィングシステム上で動作しているアプリケ一ションプログラム (4) から 前記印刷装置 (69) へ印刷を行うために出される印刷要求と出力デ一夕 を検出するための検出手段 (43) と、
前記出力データを加工して前記印刷データを作成し、 作成された前記印 刷データを一時的に記憶媒体に保存し、 前記印刷装置 (69) へ出力する ためのスプーラ (65) と、
前記アプリケーションプログラム (4) から前記印刷装置 (69) に印 刷するために出力される前記出力デ一夕を制御する制御手段 (7, 41) と
を含む印刷制御プログラムを格納した電子計算機において、
前記制御手段 ( 7, 41) は、 前記オペレーティングシステム (OS) の全ての命令を実行できる力一 ネルモードで動作し、 かつ複数のデバイスドライバ間でデータの送受信を 行うための共通インターフェースドライバ (7) と、
前記オペレーティングシステム (OS) のユーザモードで動作し、 前記 ォペレ一ティングシステム (OS)のイベントを監視するための監視部(4 3) とを含み、
前記共通インタ一フェースドライバ (7) は、
前記アプリケーションプログラムとのインターフェースであるアプリケ —シヨンインターフェース部 ( 1 7) と、
前記印刷デー夕を制御する制御条件を確認し、 前記印刷デー夕を制御す るプリンタ出力監視ドライバ部 (42) と、
記憶装置へアクセスし前記制御条件を取得し、 前記プリンタ出力監視ド ライバ部 (42) へ渡すデータ入出力部 (20, 30) とを含み、 前記監視部 (43) は、 前記スプーラ (65) が動作するときに発生す るイベントで前記印刷要求を検出し、 検出した前記印刷要求を前記アプリ ケーシヨンインターフェース部 (17) を介して前記プリンタ出力監視ド ライバ部 (42) へ渡し、
前記プリン夕出力監視ドライバ部(42)は、前記印刷要求を受け取り、 前記スプーラ (65) によって作成され、 保存されたスプーラ一時フアイ ルを前記制御条件によって制御する
ことを特徴とする印刷制御用プログラムを格納した電子計算機。
3. オペレーティングシステム (OS) によって動作している電子計算 機から印刷装置 (69) へ印刷データの出力を行うとき、 前記オペレーテ ィングシステム上で動作しているアプリケーションプログラム (4) から 前記印刷装置 (69) へ印刷を行うために出される印刷要求と出力データ を検出するための検出手段 (43) と、
前記出力データを加工して前記印刷データを作成し、 作成された前記印 刷データを一時的に記憶媒体に保存し、 前記印刷装置 (69) へ出力する ためのスプーラ (65) と、
前記アプリケーションプログラム (4) から前記印刷装置 (69) に印 刷するために出力される前記出力データを制御する制御手段 (7, 41 ) と
を含む印刷制御プログラムを格納した電子計算機において、
前記制御手段 ( 7 , 41) は、
前記オペレーティングシステム (OS) の全ての命令を実行できるカー ネルモードで動作し、 かつ複数のデバイスドライバ間でデータの送受信を 行うための共通インターフェースドライバ (7) と、
前記オペレーティングシステム (OS) のユーザモードで動作し、 スプ ーラ (65) の前に挿入され、 前記アプリケーションプログラム (4) か ら前記スプーラ (65) に送られる前記出力デ一夕を制御するための第 2 プリンタ出力監視ドライバ部 (48) とを含み、
前記共通インタ一フェースドライバ (7) は、
前記アプリケーションプログラムとのィンターフェースであるアプリケ ーシヨンインターフェース部 (1 7) と、
前記印刷データを制御する制御条件を確認し、 制御用の命令を前記第 2 プリンタ出力監視ドライバ部 (48) に送信するプリンタ出力監視ドライ バ部 (42) と、
記憶装置へアクセスし前記制御条件を取得し、 前記プリンタ出力監視ド ライバ部 (42) へ渡すデ一夕入出力部 (20, 30) とを含み、 前記出力データが前記スプーラ (65) に渡されるとき、 前記第 2プリ ンタ出力監視ドライバ部 (48) を介し、
前記第 2プリンタ出力監視ドライバ部 (48) は、 前記プリンタ出力監 視ドライバ部 (42) から前記制御条件、 前記制御命令を受け取り、 前記 印刷データの制御を行う
ことを特徴とする印刷制御用プログラムを格納した電子計算機。
4. オペレーティングシステム (OS) によって動作している電子計算 機から印刷装置 (69) へ印刷デ一夕の出力を行うとき、 前記オペレーテ ィングシステム上で動作しているアプリケーションプログラム (4) から 前記印刷装置 (69) へ印刷を行うために出される印刷要求と出力データ を検出するための検出手段 (43) と、
5 前記出力データを加工して前記印刷データを作成し、 作成された前記印 刷データを一時的に記憶媒体に保存し、 前記印刷装置 (69) へ出力する ためのスプーラ (65) と、
前記アプリケーションプログラム (4) から前記印刷装置 (69) に印 刷するために出力される前記出力デー夕を制御する制御手段 (7, 41) 10 と
を含む印刷制御プログラムを格納した電子計算機において、
前記制御手段 (7, 41) は、
前記オペレーティングシステム (OS) の全ての命令を実行できるカー ネルモードで動作し、 かつ複数のデバイスドライバ間でデータの送受信を 15. 行うための共通インターフェースドライバ (7) と、
前記オペレーティングシステム (OS) のユーザモードで動作し、 スプ ーラ (65) の前に挿入され、 前記アプリケーションプログラム (4) か ら前記スプーラ (65) に送られる前記出力データを制御するための第 2 プリン夕出力監視ドライバ部 (61) と、
20 前記オペレーティングシステム (OS) の全ての命令を実行できるカー ネルモードで動作し、 前記印刷装置 (69) を制御するプリンタデバイス ドライバ (68) の前に挿入され、 前記スプーラ (65) から前記印刷装 • 置 (69) に送られる前記印刷データを制御するためのフィル夕 (41) とを含み、
25 前記共通インターフェースドライバ (7) は、
前記アプリケーションプログラム (4) とのィンターフェ一スであるァ プリケーシヨンインターフェース部 (1 7) と、
前記印刷デー夕を制御する制御条件を確認し、 制御用の命令を前記フィ ルタ (41) に送信するプリン夕出力監視ドライバ部 (42) と、 記憶装置へアクセスし前記制御条件を取得し、 前記プリン夕出力監視ド ライバ部 (42) へ渡すデータ入出力部 (20, 30) とを含み 4 前記出力データが前記第 2プリンタ出力監視ドライバ部 (48) を介し て前記スプーラ (65) に渡されるとき、 前記第 2プリンタ出力監視ドラ ィバ部 (48) は、 前記印刷要求を検出し、 検出した前記印刷要求を前記 アプリケーシヨンィンターフェ一ス部 (1 7) を介して前記プリンタ出力 監視ドライバ部 (42) へ渡し、
前記出力データが前記スプーラ (65) に渡されるとき、 前記第 2プリ ンタ出力監視ドライバ部 (48) を介し、
前記第 2プリン夕出力監視ドライバ部 (48) は、 前記前記出ガデータ が前記スプーラ (65) に送られるとき前記印刷要求を検出し、 検出した 前記印刷要求を前記アプリケーションインタ一フェース部 (17) を介し て前記プリンタ出力監視ドライバ部 (42) へ渡し、
前記プリンタ出力監視ドライバ部 (42) は、 前記印刷要求を受け取つ て、 前記印刷要求に対する制御命令を前記フィルタ (41) に送信し、 前記フィルタ (41) は、 前記制御命令に従って前記印刷デ一夕を予め 決められた制御条件で制御する
ことを特徴とする印刷制御用プログラムを格納した電子計算機。
5. 請求項 1、 3、 4の中から選択される 1項において、
前記制御条件は、 '
前記データ出力の停止、 前記データ出力の出力スピードの変更、 及び前 記データ出力の一部の繰り返し出力の中から選択される 1以上である ことを特徴とする印刷制御用プログラムを格納した電子計算機。
6. 請求項 2において、
前記制御条件は、
前記スプーラ一時ファイルの属性の変更、 前記スプーラ一時ファイルの 中身の変更、 及び前記スプーラ一時ファイルの中身を削除し空ファイルに する制御の中から選択される 1以上である
ことを特徴とする印刷制御用プログラムを格納した電子計算機。
7. オペレーティングシステム (OS) によって動作している電子計算 機から印刷装置 (69) へ印刷データの出力を行うとき、 前記オペレ一テ ィングシステム上で動作しているアプリケーションプログラム (4) から 前記印刷装置 (69) へ印刷を行うために出される印刷要求と出力デ一夕 を検出するための検出手段 (43) と、
前記出力データを加工して前記印刷データを作成し、 作成された前記印 刷データを一時的に記憶媒体に保存し、 前記印刷装置 (69) へ出力する ためのスプーラ (65) と、
前記アプリケーションプログラム (4) から前記印刷装置 (69) に印 刷するために出力される前記出力データを制御する制御手段 (7, 41) と
を含む電子計算機の印刷制御プログラムにおいて、
前記制御手段 ( 7, 41) は、
前記オペレーティングシステム (OS) の全ての命令を実行できるカー ネルモードで動作し、 かつ複数のデバイスドライバ間でデータの送受信を 行うための共通インターフェースドライバ (7) と、
前記オペレーティングシステム (OS) のユーザモードで動作し、 前記 オペレーティングシステム(OS)のイベントを監視するための監視部(4 3) と、
前記オペレーティングシステム (OS) の全ての命令を実行できるカー ネルモードで動作し、 前記印刷装置 (69) を制御するプリン夕デバイス ドライバ (68) の前に挿入され、 前記スプーラ (65) から前記印刷装 置 (69) に送られる前記印刷データを制御するためのフィル夕 (41) とを含み、
前記共通インターフェースドライバ (7) は、
前記アプリケーションプログラムとのィンターフェースであるアプリケ ーシヨンインタ一フェース部 (17) と、
前記印刷データを制御する制御条件を確認し、 制御用の命令を前記フィ ルタ (41) に送信するプリンタ出力監視ドライバ部 (42) と
記憶装置へアクセスし前記制御条件を取得し、 前記プリンタ出力監視ド ライバ部 (42) へ渡すデ一夕入出力部 (20, 30) とを含み、 前記監視部 (43) は、 前記スプーラ (65) が動作するときに発生す るイベントで前記印刷要求を検出するステップと、 検出した前記印刷要求 を前記アプリケーションインタ一フェース部 (1 7) を介して前記プリン 夕出力監視ドライバ部 (42) へ渡すステップとを含み、
前記プリン夕出力監視ドライバ部 (42) は、 前記印刷要求を受け取る ステップと、 前記印刷要求に対する制御命令を前記フィル夕 (41) に送 信するステップを含み、 かつ
前記フィルタ (41) は、 前記制御命令に従って前記印刷データを予め 決められた前記制御条件で制御するステップを含む
ことを特徴とする電子計算機の印刷制御用プログラム。
8. ォペレ一ティングシステム (OS) によって動作している電子計算 機から印刷装置 (69) へ印刷デ一夕の出力を行うとき、 前記オペレーテ ィングシステム上で動作しているアプリケーションプログラム (4) から 前記印刷装置 (69) へ印刷を行うために出される印刷要求と出力データ を検出するための検出手段 (43) と、
前記出力データを加工して前記印刷データを作成し、 作成された前記印 刷データを一時的に記憶媒体に保存し、 前記印刷装置 (69) へ出力する ためのスプーラ (65) と、
前記アプリケーションプログラム (4) から前記印刷装置 (69) に印 刷するために出力される前記出力デー夕を制御する制御手段 ( 7 , 41) と
を含む電子計算機の印刷制御プログラムにおいて、
前記制御手段 ( 7 , 41) は、 前記オペレーティングシステム (OS) の全ての命令を実行できるカー ネルモードで動作し、 かつ複数のデバイスドライバ間でデータの送受信を 行うための共通イン夕一フェースドライバ (7) と.
前記オペレーティングシステム (OS) のユーザモ一ドで動作し、 前記 オペレーティングシステム(OS)のイベントを監視するための監視部(4 3) と、 とを含み、
前記共通インターフェースドライバ (7) は、
前記アプリケーシヨンプログラムとのィンターフェ一スであるアプリケ ーシヨンイン夕一フェース部 ( 1 7) と、
前記印刷データを制御する制御条件を確認し、 制御を行うプリンタ出力 監視ドライバ部 (42) と、
記憶装置へアクセスし前記制御条件を取得し、 前記プリンタ出力監視ド ライバ部 (42) へ渡すデータ入出力部 (20, 30) とを含み、 前記監視部 (43) は、 前記スプーラ (65) が動作するときに発生す るイベントで前記印刷要求を検出するステップと、 検出した前記印刷要求 を前記アプリケーションインターフエ一ス部 (1 7) を介して前記プリン 夕出力監視ドライバ部 (42) へ渡すステップとを含み、
前記プリンタ出力監視ドライバ部 (42) は、 前記印刷要求を受け取る ステップと、 前記スプーラ (65) によって作成され、 保存されたスプ一 ラー時ファイルを前記制御条件によって制御するステップとを含む ことを特徴とする電子計算機の印刷制御用プログラム。
9. ォペレ一ティングシステム (OS) によって動作している電子計算 機から印刷装置 (69) へ印刷デ一夕の出力を行うとき、 前記オペレーテ ィングシステム上で動作しているアプリケーションプログラム (4) から 前記印刷装置 (69) へ印刷を行うために出される印刷要求と出力データ を検出するための検出手段 (43) と、
前記出力データを加工して前記印刷デ一夕を作成し、 作成された前記印 刷データを一時的に記憶媒体に保存し、 前記印刷装置 (69) へ出力する ためのスプーラ (65) と、
前記アプリケーションプログラム (4) から前記印刷装置 (69) に印 刷するために出力される前記出力データを制御する制御手段 (7, 41) と
を含む電子計算機の印刷制御プログラムにおいて、
前記制御手段 (7, 41) は、
前記オペレーティングシステム (OS) の全ての命令を実行できる力一 ネルモードで動作し、 かつ複数のデバイスドライバ間でデータの送受信を 行うための共通インターフエ一スドライバ (7) と、
前記オペレーティングシステム (OS) のユーザモードで動作し、 スプ
—ラ (65) の前に挿入され、 前記アプリケーションプログラム (4) か ら前記スプーラ (65) に送られる前記出力データを制御するための第 2 プリンタ出力監視ドライバ部 (48) とを含み、
前記共通イン夕一フェースドライバ (7) は、
前記アプリケーシヨンプログラムとのィンターフェ—スであるアプリケ ーシヨンィンタ一フェース部 (17) と、
前記印刷データを制御する制御条件を確認し、 制御用の命令を前記第 2 プリンタ出力監視ドライバ部 (48) に送信するプリンタ出力監視ドライ バ部 (42) と、
記憶装置へアクセスし前記制御条件を取得し、 前記プリン夕出力監視ド ライバ部 (42) へ渡すデ一夕入出力部 (20, 30) とを含み、 前記出力データが前記スプーラ (65) に渡されるとき、 前記第 2プリ ン夕出力監視ドライバ部 (48) を介し、
前記第 2プリンタ出力監視ドライバ部 (48) は、 前記プリン夕出力監 視ドライバ部 (42) から前記制御条件、 前記制御命令を受け取るステツ プと、 前記印刷デー夕の制御を行うステップとを含む
ことを特徴とする電子計算機の印刷制御用プログラム。
10. オペレーティングシステム (OS) によって動作している電子計 算機から印刷装置 (69) へ印刷データの出力を行うとき、 前記オペレー ティングシステム上で動作しているアプリケーシヨンプログラム (4) か ら前記印刷装置 (69) へ印刷を行うために出される印刷要求と出力デー 夕を検出するための検出手段 (43) と、
前記出力データを加工して前記印刷データを作成し、 作成された前記印 刷データを一時的に記憶媒体に保存し、 前記印刷装置 (69) へ出力する ためのスプーラ (65) と、
前記アプリケーションプログラム (4) から前記印刷装置 (69) に印 刷するために出力される前記出力データを制御する制御手段 (7, 41) と
を含む電子計算機の印刷制御プログラムにおいて、
前記制御手段 ( 7 , 41) は、
前記オペレーティングシステム (OS) の全ての命令を実行できるカー ネルモードで動作し、 かつ複数のデバイスドライバ間でデータの送受信を 行うための共通インターフェースドライバ (7) と、
前記オペレーティングシステム (OS) のユーザモードで動作し、 スプ ーラ (65) の前に挿入され、 前記アプリケーションプログラム (4) か ら前記スプーラ (65) に送られる前記出力データを制御するための第 2 プリンタ出力監視ドライバ部 (61) と、
前記オペレーティングシステム (OS) の全ての命令を実行できるカー ネルモードで動作し、 前記印刷装置 (69) を制御するプリン夕デバイス ドライバ (68) の前に挿入され、 前記スプーラ (65) から前記印刷装 置 (69) に送られる前記印刷データを制御するためのフィル夕 (41) とを含み、
前記共通インターフェースドライバ (7) は、
前記アプリケーションプログラム (4) とのインターフェースであるァ プリケーシヨンインターフェース部 (1 7) と、
前記印刷デー夕を制御する制御条件を確認し、 制御用の命令を前記フィ ル夕 (41) に送信するプリンタ出力監視ドライバ部 (42) と、 記憶装置へアクセスし前記制御条件を取得し、 前記プリン夕出力監視ド ライバ部 (42) へ渡すデータ入出力部 (20, 30) とを含み, 前記出力データが前記第 2プリンタ出力監視ドライバ部 (48) を介し て前記スプーラ (65) に渡されるとき、 前記第 2プリン夕出力監視ドラ ィバ部 (48) は、 前記印刷要求を検出するステップと、 検出した前記印 刷要求を前記アプリケーションインタ一フェース部 (1 7) を介して前記 プリンタ出力監視ドライバ部 (42) へ渡すステップとを有し、
前記プリン夕出力監視ドライバ部 (42) は、 前記印刷要求を受け取る ステップと、 前記印刷要求に対する制御命令を前記フィル夕 (41) に送 信するステップとを含み、 かつ
前記フィルタ (41) は、 前記制御命令に従って前記印刷データを予め 決められた制御条件で制御するステップとを含む
ことを特徴とする電子計算機の印刷制御用プログラム。
1 1. 請求項 7、 9、 10の中から選択される 1項において、 前記制御条件は、
前記デ一夕出力の停止、 前記データ出力の出力スピードの変更、 及び前 記データ出力の一部の繰り返し出力の中から選択される 1以上である ことを特徴とする電子計算機の印刷制御用プログラム。
12. 請求項 8において、
前記制御条件は、
前記スプーラ一時ファイルの属性の変更、 前記スプーラ一時ファイルの 中身の変更、 及び前記スプーラ一時ファイルの中身を削除し空ファイルに する制御の中から選択される 1以上である
ことを特徴とする電子計算機の印刷制御用プログラム。
13. 請求項 7なし 10の中から選択される 1項において、
前記制御条件は、
前記印刷制御を対象とする印刷データのファイル、 前記印刷制御が可能 な期間を示す印刷期間、 前記ファイルを印刷できないアプリケーションプ ログラム、 及びユーザの中から選択される 1以上の条件である
ことを特徴とする電子計算機の印刷制御用プログラム。
1 4 . 請求項 7ないし 1 0項の中から選択される 1項に記載の印刷制御 プログラムにおいて、
前記検出手段は、
前記イベントが発生すると前記イベントと連動してフックプログラムを 動作させるステップからなり、
前記フックプログラムは、 前記ィベント発生を制御手段へ通知する送信 ステップを有する
ことを特徴とする電子計算機の印刷制御用プログラム。
1 5 . 前記制御手段は、 前記印刷制御を行ったログを取得して、 ログデ 一夕ベースに保存する機能を備えて、
前記ログデータベースは、 印刷を行ったユーザを示すユーザの欄、 印刷 を行ったファイルを示す印刷ファイル名の欄、 印刷を行ったアプリケーシ ョンプログラムを示すアプリケーションプログラムの欄、 印刷を行った印 刷装置を示すプリンタの欄、 印刷を行った条件設定を示す印刷条件の欄、 印刷を行つた日時を示す日時の欄、 及び印刷制御を行った印刷制御の欄か ら選択される 1以上の欄から構成されている
ことを特徴とする印刷制御プログラム。
1 6 . 請求項 6ないし 1 2項の中から選択される 1項に記載の電子計算 機の印刷制御プログラムを記録した記録媒体。
PCT/JP2004/002178 2003-02-26 2004-02-25 印刷制御プログラムを格納した電子計算機、そのプログラム及びプログラムの記録媒体 WO2004077287A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2005502897A JP4198154B2 (ja) 2003-02-26 2004-02-25 印刷制御用プログラムを格納した電子計算機、そのプログラム及びプログラム記録媒体
EP04714459A EP1598738A4 (en) 2003-02-26 2004-02-25 COMPUTER CONTAINING PRINTING CONTROL PROGRAM, PROGRAM, AND PROGRAM RECORDING MEDIUM
US10/546,599 US8027050B2 (en) 2003-02-26 2004-02-25 Computer containing a print control program, the program, and program recording medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003048791 2003-02-26
JP2003-48791 2003-02-26

Publications (1)

Publication Number Publication Date
WO2004077287A1 true WO2004077287A1 (ja) 2004-09-10

Family

ID=32923302

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2004/002178 WO2004077287A1 (ja) 2003-02-26 2004-02-25 印刷制御プログラムを格納した電子計算機、そのプログラム及びプログラムの記録媒体

Country Status (6)

Country Link
US (1) US8027050B2 (ja)
EP (1) EP1598738A4 (ja)
JP (1) JP4198154B2 (ja)
KR (1) KR100720922B1 (ja)
CN (1) CN100524191C (ja)
WO (1) WO2004077287A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007265054A (ja) * 2006-03-29 2007-10-11 Hitachi Software Eng Co Ltd 透かし強制印刷システム、方法及びプログラム
EP1868076A1 (en) * 2005-03-29 2007-12-19 Science Park Corporation Print control program and program recording medium
US7969610B2 (en) * 2005-04-01 2011-06-28 Microsoft Corporation Notification methods and systems for print-related systems

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8114841B2 (en) * 2004-10-14 2012-02-14 Biomimetic Therapeutics, Inc. Maxillofacial bone augmentation using rhPDGF-BB and a biocompatible matrix
US20060146353A1 (en) * 2004-12-30 2006-07-06 Microsoft Corporation Strategies for rendering job information using a multi-personality driver device
US20060244755A1 (en) * 2005-04-28 2006-11-02 Microsoft Corporation Pre-rendering conversion of graphical data
JP4706509B2 (ja) * 2006-03-07 2011-06-22 富士ゼロックス株式会社 印刷制御システム、プログラム、及び方法
JP4921203B2 (ja) * 2007-02-26 2012-04-25 キヤノン株式会社 印刷装置、情報処理方法及びプログラム
JP2012058810A (ja) 2010-09-06 2012-03-22 Seiko Epson Corp 印刷データを用いた機能拡張プログラム、機能拡張装置、及び、機能拡張方法
CN102509032B (zh) * 2011-09-23 2014-09-10 国网电力科学研究院 一种基于Windows底层驱动的打印安全监控系统实现方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0893766A2 (en) * 1997-07-25 1999-01-27 Canon Kabushiki Kaisha Bus manager and control apparatus for multifunction device having said bus manager
JPH1185415A (ja) * 1997-09-04 1999-03-30 Canon Inc 変更通知方式を用いた出力制御装置、情報処理装置、そのシステム、その方法、及び記録媒体
WO2002091195A1 (fr) * 2001-05-07 2002-11-14 Science Park Corporation Programme pilote d'interface ordinateur

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3639685B2 (ja) * 1997-01-31 2005-04-20 キヤノン株式会社 印刷装置及び印刷制御方法
JP3689579B2 (ja) * 1998-02-05 2005-08-31 キヤノン株式会社 情報処理装置及び情報処理方法、記憶媒体
WO2000001132A1 (en) * 1998-06-30 2000-01-06 Paragon Software (Developments) Ltd. Telephone directory management system having wireless telephone interface capability
JP4418545B2 (ja) * 1998-11-30 2010-02-17 キヤノン株式会社 画像処理装置、及び画像出力制御方法
JP3747130B2 (ja) * 1998-12-22 2006-02-22 キヤノン株式会社 情報処理装置、メッセージ表示方法、インタフェース装置、及びコンピュータ読み取り可能なプログラムが格納された記憶媒体
JP4388711B2 (ja) * 2000-08-09 2009-12-24 富士フイルム株式会社 プリント・システムおよびその動作制御方法
JP2002222070A (ja) * 2000-11-21 2002-08-09 Canon Inc 印刷データ処理装置及び印刷制御方法及び印刷制御プログラム
US7190477B2 (en) * 2001-02-22 2007-03-13 Sharp Laboratories Of America, Inc. System and method for managing and processing a print job using print job tickets
US20020138564A1 (en) * 2001-03-21 2002-09-26 Treptow Jay A. Universal printing and document imaging system and method
US7617446B2 (en) * 2001-03-26 2009-11-10 International Business Machines Corporation Method and system for pre-print processing of web-based documents to reduce printing costs
AU2003211268A1 (en) 2002-02-15 2003-09-04 Science Park Corporation Individual authentication method using input characteristic of input apparatus by network, program thereof, and recording medium containing the program
US6789142B2 (en) * 2002-12-18 2004-09-07 Intel Corporation Method, system, and program for handling interrupt requests

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0893766A2 (en) * 1997-07-25 1999-01-27 Canon Kabushiki Kaisha Bus manager and control apparatus for multifunction device having said bus manager
JPH1185415A (ja) * 1997-09-04 1999-03-30 Canon Inc 変更通知方式を用いた出力制御装置、情報処理装置、そのシステム、その方法、及び記録媒体
WO2002091195A1 (fr) * 2001-05-07 2002-11-14 Science Park Corporation Programme pilote d'interface ordinateur

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1868076A1 (en) * 2005-03-29 2007-12-19 Science Park Corporation Print control program and program recording medium
EP1868076A4 (en) * 2005-03-29 2009-04-01 Science Park Corp PRINTER CONTROL PROGRAM AND PROGRAM RECOGNITION MEDIUM
KR100941831B1 (ko) 2005-03-29 2010-02-11 싸이언스 파크 가부시키가이샤 인쇄 제어 프로그램을 기록한 기록 매체
US7969610B2 (en) * 2005-04-01 2011-06-28 Microsoft Corporation Notification methods and systems for print-related systems
JP2007265054A (ja) * 2006-03-29 2007-10-11 Hitachi Software Eng Co Ltd 透かし強制印刷システム、方法及びプログラム

Also Published As

Publication number Publication date
EP1598738A1 (en) 2005-11-23
US8027050B2 (en) 2011-09-27
US20060153617A1 (en) 2006-07-13
JP4198154B2 (ja) 2008-12-17
CN1777863A (zh) 2006-05-24
JPWO2004077287A1 (ja) 2006-06-08
KR20050084118A (ko) 2005-08-26
EP1598738A4 (en) 2009-04-01
KR100720922B1 (ko) 2007-05-23
CN100524191C (zh) 2009-08-05

Similar Documents

Publication Publication Date Title
US7584242B2 (en) Printing control apparatus, system and method
US8797561B2 (en) Printing control program and program recording media
JP4198154B2 (ja) 印刷制御用プログラムを格納した電子計算機、そのプログラム及びプログラム記録媒体
JP2004246570A (ja) 情報処理装置
JP2001105691A (ja) 情報処理装置およびデータ処理方法および記憶媒体
JP2001188663A (ja) プリント管理方法,プリンタシステムとそのユーザ用及び管理者用ホストコンピュータ,並びに記録媒体
JP2014041599A (ja) プログラム、情報処理装置、システム
JP3376256B2 (ja) 印刷制御装置および印刷制御方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JP2001228986A (ja) 画像出力装置、画像出力方法及び記録媒体
JP4463889B2 (ja) プリントサーバ及び印刷システムとそのクライアント及びその印刷制御方法
JP2000003258A (ja) 印刷システム
JP4027131B2 (ja) 情報処理装置、情報処理システム、制御方法、制御プログラム並びに記憶媒体
JP2004185325A (ja) プリントサーバ装置
JP3207051B2 (ja) 出力装置および印字環境転送制御方法
US8675223B2 (en) Image forming device, image forming system and computer readable medium for installing related software to another device
JP2003266892A (ja) 情報処理装置、情報処理システム、制御方法、制御プログラム並びに記憶媒体
JP2000353139A (ja) 印刷システム、情報処理装置、印刷処理方法および記憶媒体
JP2003241948A (ja) 失敗した印刷ジョブを回復するための方法または装置
JPH10320139A (ja) 印刷制御装置及び印刷制御方法並びに印刷制御プログラムが記録されたコンピュータ読み取り可能な記録媒体
JP2007293513A (ja) ジョブ送信装置および方法、ジョブ送信プログラムを記憶した媒体
JP2000298560A (ja) 印刷データ処理装置
JP2003316554A (ja) ジョブアカウントシステム、ジョブアカウント方法、ジョブアカウントプログラムおよび記憶媒体
JP2018037019A (ja) 情報処理装置、制御方法、およびプログラム
JP2008046851A (ja) デバイス情報処理装置およびプログラム
JP2001092603A (ja) 印刷制御装置および印刷制御方法および記憶媒体

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2005502897

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 1020057010018

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 2004714459

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 20048018654

Country of ref document: CN

ENP Entry into the national phase

Ref document number: 2006153617

Country of ref document: US

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 10546599

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 1020057010018

Country of ref document: KR

WWP Wipo information: published in national office

Ref document number: 2004714459

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 10546599

Country of ref document: US