US20110242607A1 - Pull based computer output devices - Google Patents
Pull based computer output devices Download PDFInfo
- Publication number
- US20110242607A1 US20110242607A1 US13/163,164 US201113163164A US2011242607A1 US 20110242607 A1 US20110242607 A1 US 20110242607A1 US 201113163164 A US201113163164 A US 201113163164A US 2011242607 A1 US2011242607 A1 US 2011242607A1
- Authority
- US
- United States
- Prior art keywords
- job
- printer
- store
- output device
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1203—Improving or facilitating administration, e.g. print management
- G06F3/1205—Improving or facilitating administration, e.g. print management resulting in increased flexibility in print job configuration, e.g. job settings, print requirements, job tickets
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1211—Improving printing performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1268—Job submission, e.g. submitting print job order or request not the print data itself
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1285—Remote printer device, e.g. being remote from client or server
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B33—ADDITIVE MANUFACTURING TECHNOLOGY
- B33Y—ADDITIVE MANUFACTURING, i.e. MANUFACTURING OF THREE-DIMENSIONAL [3-D] OBJECTS BY ADDITIVE DEPOSITION, ADDITIVE AGGLOMERATION OR ADDITIVE LAYERING, e.g. BY 3-D PRINTING, STEREOLITHOGRAPHY OR SELECTIVE LASER SINTERING
- B33Y50/00—Data acquisition or data processing for additive manufacturing
Definitions
- a common type of computer system output is a paper printout.
- the printing may be of text, graphics, data, etc.
- a printout may be needed for many reasons, including creating documentation and for sharing information between persons, for example.
- An increasingly common printing system is an institutional setting wherein a computer system includes multiple computers and multiple printers.
- the computers and printers may be interconnected by one or more computer networks.
- a user may access the printers using the network.
- a network printing system is advantageous in that users can access multiple printers.
- the printing system may extend over multiple rooms, multiple locations, multiple buildings and even multiple geographic locations.
- Such a printing system may be composed of different types and brands of devices that have been incorporated into a computer system at varying times. The result is a non-homogeneous network wherein addition of a new device may take appreciable time to integrate and configure. This is especially true when the computer system employs multiple printers.
- a user may access a particular printer if the user knows the printer, knows its characteristics and knows its address within the network.
- a user must send data to a known address in order to print.
- the user must know the characteristics of the printer or printers and must have an appropriate driver or driver selected beforehand.
- the user cannot send out a print job without knowing something about the printing system.
- the user cannot rely on the printing system to handle the print job in an appropriate or most efficient way, and cannot rely on the printing system to handle printer changes, additions or deletions.
- the task of printing may be made difficult when a printer or printers within the computer environment are added, deleted, replaced, moved or upgraded.
- the job submission client must install a driver for every printer to be used.
- This driver is responsible for rendering a job from a client-format (such as Microsoft Graphics Device Interchange (GDI) format) into a device-specific format (such as Printer Control Language (PCL)-5c).
- GDI Microsoft Graphics Device Interchange
- PCL Printer Control Language
- a driver is customized for a particular model number or configuration of a printer, meaning that changes to a printer require changes to the driver. Adding or changing a printer in the prior art therefore requires all job submission clients to be updated. This is complicated and time-consuming, even with only a relatively small number of job submission clients.
- the printer is blocked while waiting for the paper to be filled and the prior art printing system does not forward the job to a printer with available paper.
- the user wants to print a small document and the printer is busy, the user may have to wait until the current document is printed. The printing system does not forward the job to an available printer.
- a presentation output system comprises a digital computer network, one or more job submission clients, and a job store.
- the job store accepts and holds output jobs from the plurality of job submission clients.
- the presentation output system further comprises one or more presentation output devices that pull the output jobs from the job store for outputting.
- FIG. 1 is a schematic of a printing system according to one example of the invention.
- FIG. 2 shows a detail of a printer according to another example of the invention
- FIG. 3 is a flowchart of a printing method according to another example of the invention.
- FIG. 4 is a flowchart of a printing method according to yet another example of the invention.
- FIG. 5 is a flowchart of a printing method according to yet another example of the invention.
- FIG. 6 is a flowchart of a printer operation method according to yet another example of the invention.
- FIG. 7 is a flowchart of a job store operation according to yet another example of the invention.
- FIG. 1 is a schematic of a printing system 100 according to one example of the invention.
- the printing system 100 may include a digital computer network 160 , one or more computer output devices, such as one or more printers 110 , and one or more job submission clients 103 .
- the printing system 100 includes a job store 140 and may optionally include a wireless interface 162 .
- the presentation output device may be a projector, an electronic paper device, a three-dimensional printer (such as for creating solid three-dimensional prototype models from a CAD type digital file), a hologram generator device, etc.
- these devices may be referred to as presentation output devices. Therefore, the user of such output devices may generate a display job and provide the display job to a repository.
- display is used as the output of a presentation output device and display job is used as the term for a job submission to the presentation output system.
- An available or designated presentation device may then pull and display the display output.
- Such a system reduces or eliminates the problem of maintaining multiple formats of data presentation.
- the invention enables an output device to decide whether the output device can display the data.
- printing in this document is used interchangeably with the term displaying, and the term printer is used interchangeable with presentation device.
- the discussion below generally focuses on printing, since it is the most common deployment scenario. However, the benefits and advantages of pull-based printing may be applied to other types of computer-generated presentation output, and thus the discussion is applicable to all such output devices. This also includes systems where the output devices are all printers, are all presentation devices, or conversely are a mixture of printers and presentation devices.
- the network 160 of the printing system 100 may be any type of digital computer network, including a local area network (LAN), a wide-area network (WAN), a virtual private network (VPN), the Internet, etc.
- the network 160 allows multiple computer devices to communicate over a wire, cable or optical fiber.
- the network 160 may be a wireless network, wherein the various components communicate wirelessly, such as through radio frequency (RF) communications or infrared (IR) communications, for example.
- RF radio frequency
- IR infrared
- the one or more job submission clients 103 may be any type of computerized devices, including personal computers (PCs), laptops, work stations, cell phones, PDAs, etc.
- the one or more job submission clients 103 communicate over the network 160 and may generate print jobs or other types of output, such as display jobs.
- the job store 140 receives and holds submitted output jobs.
- An output job may be a display job to be displayed using any manner of computer output device or may be a print job to be printed. For clarity, the discussion will focus on print jobs and printing operations.
- the job store 140 may also function as a spooler and may spool print jobs to a printer 110 .
- the job store 140 may include a print driver storage 144 , a job storage 142 , and a printer information storage 147 .
- the job storage 142 may store one or more print jobs waiting to be printed.
- the user may be inside a firewall while the job store 140 may reside outside the firewall. This enables printing of a print job even if the user and the printer are across one or more firewalls.
- job stores may be chained, so that the printer may be connected to a first job store and the user may be connected to a second job store. The two job stores may communicate and therefore may present a single view of the job store to both the user and the printer.
- the job store 140 receives a print job submission from a job submission client, receives a pull command from a printer, and provides the print job to the printer in response to the pull command.
- the job store 140 may receive any manner of output job, such as a display job, and provide the output job to a pulling computer output device.
- a computer output device 110 may issue a pull command to the job store 140 , pull a display job from the job store 140 , and display the display job using a presentation output device formed in the computer output device 110 .
- the printer driver storage 144 stores printer drivers corresponding to printers in the printing system 100 .
- the printer driver storage 144 allows a new printer driver to be added to the job store 140 when a new printer is connected to the network 160 , thereby simplifying such an addition. Consequently, job submission clients 103 may interact only with the job store 140 , and therefore may be unaffected by any printer changes.
- the printer information storage 147 may store information about printers in the printing system 100 , such as printer addresses, printer names, printer capacities, printer locations, etc.
- one or more printers 110 may communicate over the network 160 (printer details are shown in FIG. 2 ).
- the job store 140 may receive a print job pull command, retrieve an appropriate printer driver from the printer driver storage 144 , apply the printer driver to the print job, and supply the print job from the job storage 142 to the pulling printer.
- a printer 110 may issue a pull command when it is ready to print, i.e., when it is idle or when it is nearly finished with a current print job.
- a printer 110 is capable of pulling a print job from the job store 140 and printing the print job.
- the job store 140 may allow a printer 110 to pull print jobs and may additionally push print jobs to the printer 110 .
- the job submission client 103 does not need to know the name of the printer, its address, or its location. Therefore, any printer configuration changes are simplified.
- the printing system 100 automatically and autonomously selects and uses a printer based on printer availability, but without having a printer overseer that must constantly monitor all printers.
- drivers for multiple printers may be partitioned into two drivers, a job store driver and a production driver.
- the job store driver is used to convert a client's print or output job into a printer-neutral format.
- the production driver may convert the printer-neutral print job into a format for a specific printer.
- the job store driver is a driver used to submit a print job to the job store 140 , and is not a driver for any particular printer. Consequently, for print operations (or any type of relevant output), each job submission client 103 may be configured with just the job store driver.
- the print job may be submitted to the job store 140 using the job store driver.
- the print jobs submitted to the job store driver may be converted to a printer independent format, such as a PDF or XHTML format, for example.
- the job store driver may present a user interface that enables the user to specify a finishing intent of the print job. For example, the user may specify double-sided printing, collating of the print job, stapling of the print job, etc.
- the job store driver passes these finishing intent specifications to the production driver, upon occurrence of the pull command, in order to perform the finishing of the print job by the printer.
- the job store driver may include an optional interface that allows a user to specify the name of a particular printer.
- the user can opt to fill in the name of the printer, leave it blank, or put in “nearest printer”, for example.
- These options result in different operations, and enable the job store driver to co-exist with other drivers. Therefore, a user who does not want to use the advanced features of the job store 140 and the job store driver can continue using a prior art push approach. This is important, as the printing system 100 according to the invention therefore does not need a new deployment model other than the presence of the job store driver, the job store hardware/software (which could be implemented on network printer server, such as an HP Print server appliance 4200 , HP Part No.
- the printer changes may be implemented as an add-on co-processor to an external input/output (EIO) slot or a peripheral component interconnect (PCI) slot, for example.
- EIO external input/output
- PCI peripheral component interconnect
- FIG. 2 shows a detail of a printer 110 according to another example of the invention.
- the printer 110 may include a network interface 205 , a printing mechanism 209 , a processor 212 , a beacon 218 , a physical code 221 , a user authentication device 226 , and a memory 230 .
- the network interface 205 may be any manner of interface, such as a network card, a modem, etc.
- the network interface 205 enables communication over the network 160 .
- the printing mechanism 209 may be any type of printing mechanism capable of providing a paper printout.
- the printing mechanism 209 may be a laser printing mechanism, a bubble jet printing mechanism, or an ink jet printing mechanism, for example.
- the processor 212 may be any type of general processor.
- the processor 212 executes a control routine contained in the memory 230 .
- the processor 212 receives inputs and controls operation of the printer 110 .
- the memory 230 may be any type of digital memory.
- the memory 230 may include, for example, a print job storage area 232 , a pull command 234 , a print manager 237 , and a printer identifier storage 239 .
- the memory 230 may store a printer control routine that conducts printing operations, etc.
- the memory 230 may store a driver 236 for the printer 110 .
- the print job storage 232 temporarily stores one or more pending print jobs that have been pulled from the job store 140 .
- the print jobs may be jobs to be pushed to one or more printers or jobs to be pulled by one or more printers.
- the pull command 234 is a command or set of commands that pull print jobs from the job store 140 .
- the pull command 234 may be a generic command that simply pulls a waiting print job.
- the pull command 234 may include information fields, such as a user name or a job submission client identifier if the user performs an authentication process.
- the pull command 234 may include a printer identifier that specifies the printer that is pulling the print job.
- the printer identifier may be automatically inserted into the pull command 234 by the printer 110 , or may be inserted as part of an authentication operation.
- the print manager routine 237 monitors the status of the printer 110 , determines when to pull a print job from the job store 140 , and uses the pull command 234 to issue a pull command to the job store 140 .
- the print manager routine 237 also receives a print job, temporarily stores it in the print job storage 232 , and provides it to the printing mechanism 209 .
- the printer 110 may specify the printer type in the pull command so that the job store 140 may apply an appropriate printer driver to a print job. Alternatively, the printer 110 may apply an appropriate locally stored printer driver after it pulls a print job from the job store 140 .
- the printer identifier storage 239 may store printer identification information.
- the job store 140 may use this printer identification information to push a print job to a specific printer or to associate a print job with a specific printer.
- the job store 140 may receive a new printer identifier information when a new printer is added to the printing system 100 .
- the printer 110 may automatically inform the job store 140 when the printer 110 is added to the printing system 100 . This may include sending the printer identification information that is stored in the printer identifier storage 239 .
- the beacon 218 is an optional component that broadcasts printer information, including a printer identifier, for example.
- the broadcast may be a wireless broadcast, such as an RF or IR communication.
- the printer information may include a network address of the printer and may include a printer type information. This may enable the job store 140 to determine an appropriate printer driver, if needed.
- the beacon 218 may be used by any manner of portable electronic device 165 such as a laptop computer, cell phone, PDA, etc., in order to send a print job to a printer 110 .
- the physical code 221 is an optional component that may be a bar code or other physical code displayed on the exterior of the printer 110 .
- the physical code 221 may be read using a device such as an optical reader or scanner that is connected to or included as part of the portable electronic device 165 .
- the physical code 221 may include the printer information, such as the printer address, the printer location, the printer characteristics, etc.
- the user authentication device 226 is an optional component that receives a user input, verifies whether the user is authorized to print at the particular printer, and enables the printer 110 for printing if the user is successfully verified.
- the user authentication device 226 may be, for example, a fingerprint reader, a keypad for input of an identifier code of a user, a secure ID card or badge reader, or any other manner of biometric information reader device.
- the user authentication device 226 may prompt the printer 110 to pull a print job or jobs for the authenticated user.
- FIG. 3 is a flowchart 300 of a printing method according to another example of the invention.
- the user prepares a print job in the job submission client 103 . This may include creating, modifying, or recalling a digital data file, for example.
- step 310 the user may associate the print job with a particular printer. This may be done by specifying the printer name, address, physical location, etc. Alternatively, this may be done by choosing an appropriate printer driver available in the job submission client 103 . An association is optional.
- step 316 the user submits the print job to the job store 140 .
- a printer pulls a print job from the job store 140 .
- an available printer may send a pull command 234 to the job store 140 .
- the print job may be pushed to the printer, or alternatively only the designated printer may be allowed to pull the print job.
- the printing system 100 may perform pull-based printing, push-based printing, or both.
- Pull-based printing according to the invention therefore may be integrated into a traditional push-based printing system, or may retain push-based printing functionality for users who desire such functionality.
- FIG. 4 is a flowchart 400 of a printing method according to yet another example of the invention.
- the user prepares a print job in the job submission client 103 , as previously discussed.
- step 407 the print job is submitted to the job store 140 , as previously described.
- the user provides a user authentication information at the particular printer 110 .
- the user authentication information may be a fingerprint reading, may be entry of an identifier code, may be a scan of an ID badge or ID card, or may be any other manner of biometric information.
- the user authentication information may be submitted in a suitable encrypted form and may be stored in the job store 140 along with the submitted print job. This may be done by the user prior to job submission if the user has a password protected account in the job store 140 . Therefore, any job that the user submits to the job store 140 may include the appropriate authentication information. As a result, when the user wants to print, the print job is submitted to the printer and the information is compared with the information in the job store 140 before allowing the printer to pull the print job. Presenting the user authentication at the printer may also act as a trigger for the pull command.
- the document produced by the job store driver is encrypted and remains encrypted until decrypted by the printer or output device.
- the production driver does not need to understand the content of the store job in order to pass it on to the printer or output device.
- the particular printer 110 may request the association of a print job (from the authenticated user) to the printer 110 .
- the job store 140 creates the association.
- a printer pulls the authenticated print job and prints it.
- the print job therefore may be printed in response to the user authentication information input.
- the print job may be pulled from the job store 140 by the authenticated printer 110 and printed.
- the print job may be pushed to the authenticating printer, or only the authenticating printer may be allowed to pull the print job.
- FIG. 5 is a flowchart 500 of a printing method according to yet another example of the invention.
- the user prepares a print job in the job submission client 103 , as previously discussed.
- step 509 the print job is submitted to the job store 140 , as previously described.
- a printer 110 broadcasts printer information.
- the broadcast may occur at any time, and may be substantially continuous.
- a user can use the printer information to form an association of the print job to the printer 110 .
- the job submission client 103 comprises a portable electronic device 165 .
- the user may want to print to a printer located nearby. Therefore, in order to facilitate printing, it is desirable that such a portable electronic device 165 be able to send a print job to a specific printer. This enables a mobile, temporary, or guest user of the printing system 100 to print without having to go through a complex and time-consuming process of configuring the portable electronic device 165 , sending the print job to a printer, and then finding the printing printer.
- a wireless beacon 218 broadcasts printer information (see FIG. 2 and accompanying discussion).
- the broadcast may comprise a physical code 221 displayed on an exterior of the printer.
- the physical code 221 may be electronically readable by a portable electronic device 165 , such as by a scanner communicating with the portable electronic device 165 .
- the portable electronic device 165 receives the printer information. This may include receiving and decoding a wireless broadcast from the beacon 218 , optically/electronically scanning a bar code or other code on the printer 110 , etc. Alternatively, if the printer information is included in the physical code 221 , the code may be entered into the portable electronic device 165 by the user.
- the portable electronic device 165 associates the printer information with the submitted print job.
- the portable electronic device 165 may be used as a remote control device for the printing system 100 .
- the portable electronic device 165 may communicate with both the job store 140 (such as through a wireless LAN, for example), and the printer 110 (such as through a beacon 218 , for example) in order to associate the print job with the printer 110 .
- the print job does not originate from the portable electronic device 165 , but instead originates from a job submission client 103 of the network 106 .
- the portable electronic device 165 just acts as a remote control mechanism that is capable of performing a job association and triggering a pull command from a printer.
- the portable electronic device 165 may act as a job submission client.
- the portable electronic device 165 may create a print job and send the print job to the job store 140 (similar to any other job submission client 103 ).
- the portable electronic device 165 thus does not need to store any drivers required by the printers of the printing system 100 .
- a particular printer 110 pulls and prints the print job. Furthermore, the particular printer 110 may pull any print job that includes a corresponding printer information. Therefore, the printer 110 may issue two types of pull commands.
- One type of pull command may include information regarding a specific print job the printer 110 wants to pull. This information may be obtained from a user ID associated with a print job, thus printing the job of the user.
- the second type of pull command requests any print jobs associated with the particular printer, Le., pulling any print job that specifies the pulling printer. If no response is received, the printer 110 may then issue a generic, non-specific pull command. The print job therefore may be printed in response to the receipt of the printer information.
- FIG. 6 is a flowchart 600 of a printer operation method according to yet another example of the invention.
- This flowchart reflects one printer operation example in the printing system 100 .
- the printer 110 requests associated print jobs from the job store 140 .
- the printer 110 may request any print jobs authenticated at the printer 110 , or may request print jobs identified and associated through a beacon 218 or physical code 221 .
- the physical code 221 and beacon 218 may be used by the portable electronic device 165 to associate the print job with the printer 110 .
- This mechanism allows a printer 110 to advertise its name, address, location, etc., to the portable electronic device 165 .
- step 604 if there are any print jobs, the method proceeds to step 624 ; otherwise it branches to step 610 .
- step 610 the method waits a predetermined wait time for user input and then proceeds to step 616 .
- step 616 if an input (i.e., a print job) has been received, the method proceeds to step 618 ; otherwise it branches back to step 602 .
- step 618 the print job is associated with the printer 110 and the method branches back to step 602 .
- the printer obtains job information from the job store 140 .
- the job information may include a job size, a job priority, etc.
- step 627 the printer 110 determines whether it is able to print. For example, the printer may check a toner level, a paper level, an idle status, etc. If the printer is able to print, it proceeds to step 643 ; otherwise it branches to step 629 .
- step 629 the printer sends a decline message to the job store 140 that informs the job store 140 that the printer declines (i.e., is unable to perform) the print job.
- the job store 140 associates the print job with another printer.
- the printing system 100 may automatically manage the print jobs to be printed, and may re-route print jobs based on printer availability. Consequently, the user may not have to investigate and reprint a print job if there is a problem.
- step 643 the printer 110 pulls the print job from the job store 140 and prints it. The method then loops back to 602 and waits for another print occurrence.
- FIG. 7 is a flowchart 700 of a job store operation according to yet another example of the invention.
- the job store is initiated, such as through initiation of the printing system 100 , etc. This is typically done only at start-up.
- the job store 140 at startup may perform any necessary housekeeping duties, including initializing a table of available printers in the printing system 100 . Therefore, when a new printer 110 is added to the printing system 100 , the printer information of the new printer is added to this table and the job store 140 is automatically informed of the new printer being added. Consequently, an addition of a new printer 110 only requires a configuration change in the job store 140 , instead of requiring a reconfiguration at every job submission client 103 .
- step 706 the job store 140 determines whether a job information request has been received. If it has, the method branches to step 712 ; otherwise the method proceeds to step 722 .
- the requested job information is sent to the requesting printer.
- the job information may be retrieved from the printer information storage 147 of the job store 140 , for example.
- the request scenario may include a printer 110 inquiring whether there are any print jobs associated with that printer 110 . In this manner, a printer 110 may pull and print jobs that have been associated with a particular printer. The method then branches back to step 706 .
- step 722 the job store 140 determines whether a job association change has been requested. This may occur, for example, if a user decides to re-route the print job to a different printer. Alternatively, this may occur if the user has performed some printer specification after submitting a print job, such as providing a user authentication input, receiving printer information from a beacon, etc. In this manner, the user may select and configure a submitted print job in order to control the printing process. If an association change has been received, the method branches to step 724 ; otherwise it proceeds to step 731 .
- step 724 the job store 140 changes the job association for the corresponding print job and branches back to step 706 .
- the job association may control which printer pulls the print job or which printer receives the pushed print job.
- step 731 the job store 140 determines whether a pull request has been received from a printer 110 . If a pull request has been received, the method branches to step 735 ; otherwise it proceeds to step 744 .
- step 735 in response to a pull request from a printer 110 , the job store 140 sends the requested print job to the requesting printer 110 . The method then branches back to step 706 .
- step 744 the job store 140 determines whether a print job has been declined.
- the declined print job may be a pushed print job or a pulled print job.
- a print job may be declined for various reasons, such as for example, the particular printer being out of paper, out of toner, or busy. If the print job has been declined, the method branches to step 749 ; otherwise the method loops back to step 706 .
- step 749 the job association for the declined print job is changed. For example, if the original printer is unable to print for any reason, the job store 140 may change the job association to either push the print job to another printer or allow another printer to pull the print job.
- the printing system 100 may be applied to any computer system that includes multiple printers. It may also include any system wherein user authentication is required for printing. Furthermore, it may apply to any system where user may want to print from a portable electronic device 165 , but yet without difficult set-up or configuration.
- the system may include a portable electronic device 165 that acts as a job submission client 103 . All output jobs may be routed through the job store 140 , as the job store 140 may include any necessary drivers for printers (or other output devices) and may use an internal job store driver to perform a job transformation in one location, instead of at different job submission clients 103 .
- the invention differs from the prior art in that in the prior art a printer does not pull a print job. Moreover, in the prior art a printer does not broadcast printer information. In addition, in the prior art a presentation output device does not pull output jobs. Furthermore, in the prior art a portable electronic device cannot receive printer information broadcast from a printer, enabling the user to print without having to manually configure the portable electronic device.
- the invention further differs from the prior art in that the prior art requires an update of all relevant job submission clients 103 when a new printer is added to a prior art printing system.
- the prior art also requires knowledge of printer characteristics upon job submission.
- the prior art does not allow dynamic rerouting of print jobs if a chosen printer is malfunctioning.
- the prior art is not capable of using a portable electronic device as a remote control mechanism and does not allow printers to broadcast information to proximity located devices.
- the prior art does not let a portable electronic device print without installing a driver for at least one of the printers in the prior art printing system.
- Pull-based printing provides several benefits.
- the user does not need to know a printer's name, address, or characteristics, i.e., what driver to use, for example.
- the user does not need to worry about changes to the printing system 100 .
- the printing system 100 reacts appropriately and automatically to a print job.
- the printing system 100 can provide a pull-based printing capability along with a user authentication capability.
- the printing system 100 according to the invention can provide a pull-based printing capability for mobile devices.
- the pull printing capability enables the printer to perform the jobs it can print and reroute print jobs that cannot be successfully performed.
- the printing system 100 and the components thereof may also perform a traditional push-based printing.
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)
- Digital Computer Display Output (AREA)
Abstract
A job store for a pull-based presentation output system includes a job storage storing one or more jobs from a plurality of job submission clients; and a driver storage storing one or more drivers for converting a job into a format used by a corresponding presentation output device. The job store receives a job from a job submission client, stores the job in the job storage, receives a pull command from a presentation output device when the presentation output device is one of idle and nearly finished with a current job and without receiving further input from a user of the job submission client, retrieves the job from the job storage, applies a driver for converting that job into a format used by the presentation output device sending the pull command and outputs the job to the presentation output device sending the pull command.
Description
- The present application is a continuation of, and claims priority under 35 U.S.C. §120 from, U.S. patent application Ser. No. 10/125,804, filed Apr. 18, 2002, entitled “Pull Based Computer Output Device,” which prior application is incorporated herein by reference in its entirety.
- A common type of computer system output is a paper printout. The printing may be of text, graphics, data, etc. A printout may be needed for many reasons, including creating documentation and for sharing information between persons, for example.
- An increasingly common printing system is an institutional setting wherein a computer system includes multiple computers and multiple printers. The computers and printers may be interconnected by one or more computer networks. A user may access the printers using the network. A network printing system is advantageous in that users can access multiple printers.
- The printing system may extend over multiple rooms, multiple locations, multiple buildings and even multiple geographic locations. Such a printing system may be composed of different types and brands of devices that have been incorporated into a computer system at varying times. The result is a non-homogeneous network wherein addition of a new device may take appreciable time to integrate and configure. This is especially true when the computer system employs multiple printers.
- However, there are drawbacks to the prior art approach. In the prior art, a user may access a particular printer if the user knows the printer, knows its characteristics and knows its address within the network. A user must send data to a known address in order to print. In addition, the user must know the characteristics of the printer or printers and must have an appropriate driver or driver selected beforehand. The user cannot send out a print job without knowing something about the printing system. The user cannot rely on the printing system to handle the print job in an appropriate or most efficient way, and cannot rely on the printing system to handle printer changes, additions or deletions. As a result, the task of printing may be made difficult when a printer or printers within the computer environment are added, deleted, replaced, moved or upgraded.
- In the prior art, the job submission client must install a driver for every printer to be used. This driver is responsible for rendering a job from a client-format (such as Microsoft Graphics Device Interchange (GDI) format) into a device-specific format (such as Printer Control Language (PCL)-5c). This is especially troublesome for clients such as portable electronic devices that possess limited memory or limited processing resources. Often a driver is customized for a particular model number or configuration of a printer, meaning that changes to a printer require changes to the driver. Adding or changing a printer in the prior art therefore requires all job submission clients to be updated. This is complicated and time-consuming, even with only a relatively small number of job submission clients.
- There are other problems with the prior art approach. In prior art printing, the user explicitly sends a print job to a particular printer, i.e., pushes the print job to a pre-designated printer. Therefore, in such push-based printing, if the user prints a document and the printer is jammed or disabled, the user cannot obtain the resulting printout at the next nearest printer unless the user manually reprints the job (Le., pushes the print job to another printer, creating another print operation). Similarly, if the user prints a document and the printer is out of toner, a poor print is produced and the prior art printing system does not forward the job to a printer with available toner. Likewise, if the user prints a document and the printer is out of paper, the printer is blocked while waiting for the paper to be filled and the prior art printing system does not forward the job to a printer with available paper. Moreover, if the user wants to print a small document and the printer is busy, the user may have to wait until the current document is printed. The printing system does not forward the job to an available printer.
- Therefore, there remains a need in the art for improvements in printing.
- A presentation output system comprises a digital computer network, one or more job submission clients, and a job store. The job store accepts and holds output jobs from the plurality of job submission clients. The presentation output system further comprises one or more presentation output devices that pull the output jobs from the job store for outputting.
-
FIG. 1 is a schematic of a printing system according to one example of the invention; -
FIG. 2 shows a detail of a printer according to another example of the invention; -
FIG. 3 is a flowchart of a printing method according to another example of the invention; -
FIG. 4 is a flowchart of a printing method according to yet another example of the invention; -
FIG. 5 is a flowchart of a printing method according to yet another example of the invention; -
FIG. 6 is a flowchart of a printer operation method according to yet another example of the invention; and -
FIG. 7 is a flowchart of a job store operation according to yet another example of the invention. -
FIG. 1 is a schematic of aprinting system 100 according to one example of the invention. Theprinting system 100 may include adigital computer network 160, one or more computer output devices, such as one ormore printers 110, and one or morejob submission clients 103. In addition, theprinting system 100 includes ajob store 140 and may optionally include awireless interface 162. - Another type of computer system output is a display of a document, graphic, picture, etc., using some manner of a presentation output device. The presentation output device may be a projector, an electronic paper device, a three-dimensional printer (such as for creating solid three-dimensional prototype models from a CAD type digital file), a hologram generator device, etc. For purposes of discussion, these devices may be referred to as presentation output devices. Therefore, the user of such output devices may generate a display job and provide the display job to a repository. For purposes of the discussion the term display is used as the output of a presentation output device and display job is used as the term for a job submission to the presentation output system. An available or designated presentation device may then pull and display the display output. Such a system reduces or eliminates the problem of maintaining multiple formats of data presentation. Alternatively, the invention enables an output device to decide whether the output device can display the data.
- The use of the term printing in this document is used interchangeably with the term displaying, and the term printer is used interchangeable with presentation device. The discussion below generally focuses on printing, since it is the most common deployment scenario. However, the benefits and advantages of pull-based printing may be applied to other types of computer-generated presentation output, and thus the discussion is applicable to all such output devices. This also includes systems where the output devices are all printers, are all presentation devices, or conversely are a mixture of printers and presentation devices.
- The
network 160 of theprinting system 100 may be any type of digital computer network, including a local area network (LAN), a wide-area network (WAN), a virtual private network (VPN), the Internet, etc. Thenetwork 160 allows multiple computer devices to communicate over a wire, cable or optical fiber. Alternatively, thenetwork 160 may be a wireless network, wherein the various components communicate wirelessly, such as through radio frequency (RF) communications or infrared (IR) communications, for example. - The one or more
job submission clients 103 may be any type of computerized devices, including personal computers (PCs), laptops, work stations, cell phones, PDAs, etc. The one or morejob submission clients 103 communicate over thenetwork 160 and may generate print jobs or other types of output, such as display jobs. - The
job store 140 receives and holds submitted output jobs. An output job may be a display job to be displayed using any manner of computer output device or may be a print job to be printed. For clarity, the discussion will focus on print jobs and printing operations. Thejob store 140 may also function as a spooler and may spool print jobs to aprinter 110. Thejob store 140 may include aprint driver storage 144, ajob storage 142, and aprinter information storage 147. Thejob storage 142 may store one or more print jobs waiting to be printed. - In one example, the user may be inside a firewall while the
job store 140 may reside outside the firewall. This enables printing of a print job even if the user and the printer are across one or more firewalls. In addition, job stores may be chained, so that the printer may be connected to a first job store and the user may be connected to a second job store. The two job stores may communicate and therefore may present a single view of the job store to both the user and the printer. - In one example, the
job store 140 receives a print job submission from a job submission client, receives a pull command from a printer, and provides the print job to the printer in response to the pull command. Alternatively, thejob store 140 may receive any manner of output job, such as a display job, and provide the output job to a pulling computer output device. For example, acomputer output device 110 may issue a pull command to thejob store 140, pull a display job from thejob store 140, and display the display job using a presentation output device formed in thecomputer output device 110. - The
printer driver storage 144 stores printer drivers corresponding to printers in theprinting system 100. Theprinter driver storage 144 allows a new printer driver to be added to thejob store 140 when a new printer is connected to thenetwork 160, thereby simplifying such an addition. Consequently,job submission clients 103 may interact only with thejob store 140, and therefore may be unaffected by any printer changes. - The
printer information storage 147 may store information about printers in theprinting system 100, such as printer addresses, printer names, printer capacities, printer locations, etc. - In operation, one or
more printers 110 may communicate over the network 160 (printer details are shown inFIG. 2 ). Thejob store 140 may receive a print job pull command, retrieve an appropriate printer driver from theprinter driver storage 144, apply the printer driver to the print job, and supply the print job from thejob storage 142 to the pulling printer. - A
printer 110 may issue a pull command when it is ready to print, i.e., when it is idle or when it is nearly finished with a current print job. Aprinter 110 is capable of pulling a print job from thejob store 140 and printing the print job. Thejob store 140 may allow aprinter 110 to pull print jobs and may additionally push print jobs to theprinter 110. Thejob submission client 103 does not need to know the name of the printer, its address, or its location. Therefore, any printer configuration changes are simplified. Theprinting system 100 automatically and autonomously selects and uses a printer based on printer availability, but without having a printer overseer that must constantly monitor all printers. - In the pull-based printing system according to the invention, drivers for multiple printers may be partitioned into two drivers, a job store driver and a production driver. The job store driver is used to convert a client's print or output job into a printer-neutral format. The production driver may convert the printer-neutral print job into a format for a specific printer. The job store driver is a driver used to submit a print job to the
job store 140, and is not a driver for any particular printer. Consequently, for print operations (or any type of relevant output), eachjob submission client 103 may be configured with just the job store driver. Thus, if the user wants to print, the print job may be submitted to thejob store 140 using the job store driver. The print jobs submitted to the job store driver may be converted to a printer independent format, such as a PDF or XHTML format, for example. - The job store driver may present a user interface that enables the user to specify a finishing intent of the print job. For example, the user may specify double-sided printing, collating of the print job, stapling of the print job, etc. The job store driver passes these finishing intent specifications to the production driver, upon occurrence of the pull command, in order to perform the finishing of the print job by the printer.
- The job store driver may include an optional interface that allows a user to specify the name of a particular printer. In this example, the user can opt to fill in the name of the printer, leave it blank, or put in “nearest printer”, for example. These options result in different operations, and enable the job store driver to co-exist with other drivers. Therefore, a user who does not want to use the advanced features of the
job store 140 and the job store driver can continue using a prior art push approach. This is important, as theprinting system 100 according to the invention therefore does not need a new deployment model other than the presence of the job store driver, the job store hardware/software (which could be implemented on network printer server, such as an HP Print server appliance 4200, HP Part No. J41 17A from Hewlett-Packard Company) and some changes in the printer. In one example, the printer changes may be implemented as an add-on co-processor to an external input/output (EIO) slot or a peripheral component interconnect (PCI) slot, for example. This allows pull-based printing (or other forms of pull-based output) to be deployed in stages to an existing system. -
FIG. 2 shows a detail of aprinter 110 according to another example of the invention. Theprinter 110 may include anetwork interface 205, aprinting mechanism 209, aprocessor 212, abeacon 218, aphysical code 221, auser authentication device 226, and amemory 230. - The
network interface 205 may be any manner of interface, such as a network card, a modem, etc. Thenetwork interface 205 enables communication over thenetwork 160. - The
printing mechanism 209 may be any type of printing mechanism capable of providing a paper printout. Theprinting mechanism 209 may be a laser printing mechanism, a bubble jet printing mechanism, or an ink jet printing mechanism, for example. - The
processor 212 may be any type of general processor. Theprocessor 212 executes a control routine contained in thememory 230. In addition, theprocessor 212 receives inputs and controls operation of theprinter 110. - The
memory 230 may be any type of digital memory. Thememory 230 may include, for example, a printjob storage area 232, apull command 234, aprint manager 237, and aprinter identifier storage 239. In addition, thememory 230 may store a printer control routine that conducts printing operations, etc. Furthermore, thememory 230 may store adriver 236 for theprinter 110. - The
print job storage 232 temporarily stores one or more pending print jobs that have been pulled from thejob store 140. The print jobs may be jobs to be pushed to one or more printers or jobs to be pulled by one or more printers. - The
pull command 234 is a command or set of commands that pull print jobs from thejob store 140. Thepull command 234 may be a generic command that simply pulls a waiting print job. Alternatively, thepull command 234 may include information fields, such as a user name or a job submission client identifier if the user performs an authentication process. - In another alternative, the
pull command 234 may include a printer identifier that specifies the printer that is pulling the print job. The printer identifier may be automatically inserted into thepull command 234 by theprinter 110, or may be inserted as part of an authentication operation. - The
print manager routine 237 monitors the status of theprinter 110, determines when to pull a print job from thejob store 140, and uses thepull command 234 to issue a pull command to thejob store 140. Theprint manager routine 237 also receives a print job, temporarily stores it in theprint job storage 232, and provides it to theprinting mechanism 209. - The
printer 110 may specify the printer type in the pull command so that thejob store 140 may apply an appropriate printer driver to a print job. Alternatively, theprinter 110 may apply an appropriate locally stored printer driver after it pulls a print job from thejob store 140. - The
printer identifier storage 239 may store printer identification information. Thejob store 140 may use this printer identification information to push a print job to a specific printer or to associate a print job with a specific printer. Thejob store 140 may receive a new printer identifier information when a new printer is added to theprinting system 100. For example, theprinter 110 may automatically inform thejob store 140 when theprinter 110 is added to theprinting system 100. This may include sending the printer identification information that is stored in theprinter identifier storage 239. - The
beacon 218 is an optional component that broadcasts printer information, including a printer identifier, for example. The broadcast may be a wireless broadcast, such as an RF or IR communication. The printer information may include a network address of the printer and may include a printer type information. This may enable thejob store 140 to determine an appropriate printer driver, if needed. Thebeacon 218 may be used by any manner of portableelectronic device 165 such as a laptop computer, cell phone, PDA, etc., in order to send a print job to aprinter 110. - The
physical code 221 is an optional component that may be a bar code or other physical code displayed on the exterior of theprinter 110. Thephysical code 221 may be read using a device such as an optical reader or scanner that is connected to or included as part of the portableelectronic device 165. Thephysical code 221 may include the printer information, such as the printer address, the printer location, the printer characteristics, etc. - The
user authentication device 226 is an optional component that receives a user input, verifies whether the user is authorized to print at the particular printer, and enables theprinter 110 for printing if the user is successfully verified. Theuser authentication device 226 may be, for example, a fingerprint reader, a keypad for input of an identifier code of a user, a secure ID card or badge reader, or any other manner of biometric information reader device. Theuser authentication device 226 may prompt theprinter 110 to pull a print job or jobs for the authenticated user. -
FIG. 3 is aflowchart 300 of a printing method according to another example of the invention. Instep 301, the user prepares a print job in thejob submission client 103. This may include creating, modifying, or recalling a digital data file, for example. - In
step 310, the user may associate the print job with a particular printer. This may be done by specifying the printer name, address, physical location, etc. Alternatively, this may be done by choosing an appropriate printer driver available in thejob submission client 103. An association is optional. - In
step 316, the user submits the print job to thejob store 140. - In
step 323, a printer pulls a print job from thejob store 140. For example, an available printer may send apull command 234 to thejob store 140. Alternatively, if the user has associated the print job with a particular printer, then the print job may be pushed to the printer, or alternatively only the designated printer may be allowed to pull the print job. - In this manner, the
printing system 100 may perform pull-based printing, push-based printing, or both. Pull-based printing according to the invention therefore may be integrated into a traditional push-based printing system, or may retain push-based printing functionality for users who desire such functionality. -
FIG. 4 is aflowchart 400 of a printing method according to yet another example of the invention. Instep 402, the user prepares a print job in thejob submission client 103, as previously discussed. - In
step 407, the print job is submitted to thejob store 140, as previously described. - In
step 411, the user provides a user authentication information at theparticular printer 110. The user authentication information may be a fingerprint reading, may be entry of an identifier code, may be a scan of an ID badge or ID card, or may be any other manner of biometric information. - The user authentication information may be submitted in a suitable encrypted form and may be stored in the
job store 140 along with the submitted print job. This may be done by the user prior to job submission if the user has a password protected account in thejob store 140. Therefore, any job that the user submits to thejob store 140 may include the appropriate authentication information. As a result, when the user wants to print, the print job is submitted to the printer and the information is compared with the information in thejob store 140 before allowing the printer to pull the print job. Presenting the user authentication at the printer may also act as a trigger for the pull command. - In addition, in one example, the document produced by the job store driver is encrypted and remains encrypted until decrypted by the printer or output device. In this example, the production driver does not need to understand the content of the store job in order to pass it on to the printer or output device.
- In
step 417, theparticular printer 110 may request the association of a print job (from the authenticated user) to theprinter 110. In response, thejob store 140 creates the association. - In
step 426, a printer pulls the authenticated print job and prints it. The print job therefore may be printed in response to the user authentication information input. The print job may be pulled from thejob store 140 by the authenticatedprinter 110 and printed. Alternatively, if the user has associated the print job with a particular printer, then the print job may be pushed to the authenticating printer, or only the authenticating printer may be allowed to pull the print job. -
FIG. 5 is aflowchart 500 of a printing method according to yet another example of the invention. Instep 504, the user prepares a print job in thejob submission client 103, as previously discussed. - In
step 509, the print job is submitted to thejob store 140, as previously described. - In
step 514, aprinter 110 broadcasts printer information. The broadcast may occur at any time, and may be substantially continuous. A user can use the printer information to form an association of the print job to theprinter 110. This may be desirable if thejob submission client 103 comprises a portableelectronic device 165. In this situation, the user may want to print to a printer located nearby. Therefore, in order to facilitate printing, it is desirable that such a portableelectronic device 165 be able to send a print job to a specific printer. This enables a mobile, temporary, or guest user of theprinting system 100 to print without having to go through a complex and time-consuming process of configuring the portableelectronic device 165, sending the print job to a printer, and then finding the printing printer. - In one example, a
wireless beacon 218 broadcasts printer information (seeFIG. 2 and accompanying discussion). In another example, the broadcast may comprise aphysical code 221 displayed on an exterior of the printer. Thephysical code 221 may be electronically readable by a portableelectronic device 165, such as by a scanner communicating with the portableelectronic device 165. - In
step 520, the portableelectronic device 165 receives the printer information. This may include receiving and decoding a wireless broadcast from thebeacon 218, optically/electronically scanning a bar code or other code on theprinter 110, etc. Alternatively, if the printer information is included in thephysical code 221, the code may be entered into the portableelectronic device 165 by the user. - In
step 526, the portableelectronic device 165 associates the printer information with the submitted print job. In one example, the portableelectronic device 165 may be used as a remote control device for theprinting system 100. The portableelectronic device 165 may communicate with both the job store 140 (such as through a wireless LAN, for example), and the printer 110 (such as through abeacon 218, for example) in order to associate the print job with theprinter 110. In this mode, the print job does not originate from the portableelectronic device 165, but instead originates from ajob submission client 103 of the network 106. The portableelectronic device 165 just acts as a remote control mechanism that is capable of performing a job association and triggering a pull command from a printer. - Alternatively, the portable
electronic device 165 may act as a job submission client. The portableelectronic device 165 may create a print job and send the print job to the job store 140 (similar to any other job submission client 103). The portableelectronic device 165 thus does not need to store any drivers required by the printers of theprinting system 100. - In
step 536, aparticular printer 110 pulls and prints the print job. Furthermore, theparticular printer 110 may pull any print job that includes a corresponding printer information. Therefore, theprinter 110 may issue two types of pull commands. One type of pull command may include information regarding a specific print job theprinter 110 wants to pull. This information may be obtained from a user ID associated with a print job, thus printing the job of the user. The second type of pull command requests any print jobs associated with the particular printer, Le., pulling any print job that specifies the pulling printer. If no response is received, theprinter 110 may then issue a generic, non-specific pull command. The print job therefore may be printed in response to the receipt of the printer information. -
FIG. 6 is aflowchart 600 of a printer operation method according to yet another example of the invention. This flowchart reflects one printer operation example in theprinting system 100. Instep 602, theprinter 110 requests associated print jobs from thejob store 140. For example, theprinter 110 may request any print jobs authenticated at theprinter 110, or may request print jobs identified and associated through abeacon 218 orphysical code 221. Thephysical code 221 andbeacon 218 may be used by the portableelectronic device 165 to associate the print job with theprinter 110. This mechanism allows aprinter 110 to advertise its name, address, location, etc., to the portableelectronic device 165. - In
step 604, if there are any print jobs, the method proceeds to step 624; otherwise it branches to step 610. - In
step 610, the method waits a predetermined wait time for user input and then proceeds to step 616. - In
step 616, if an input (i.e., a print job) has been received, the method proceeds to step 618; otherwise it branches back tostep 602. - In
step 618, the print job is associated with theprinter 110 and the method branches back tostep 602. - In
step 624, the printer obtains job information from thejob store 140. The job information may include a job size, a job priority, etc. - In
step 627, theprinter 110 determines whether it is able to print. For example, the printer may check a toner level, a paper level, an idle status, etc. If the printer is able to print, it proceeds to step 643; otherwise it branches to step 629. - In
step 629, the printer sends a decline message to thejob store 140 that informs thejob store 140 that the printer declines (i.e., is unable to perform) the print job. As a result, thejob store 140 associates the print job with another printer. In this manner, theprinting system 100 may automatically manage the print jobs to be printed, and may re-route print jobs based on printer availability. Consequently, the user may not have to investigate and reprint a print job if there is a problem. - In
step 643, theprinter 110 pulls the print job from thejob store 140 and prints it. The method then loops back to 602 and waits for another print occurrence. -
FIG. 7 is aflowchart 700 of a job store operation according to yet another example of the invention. Instep 703, the job store is initiated, such as through initiation of theprinting system 100, etc. This is typically done only at start-up. Thejob store 140 at startup may perform any necessary housekeeping duties, including initializing a table of available printers in theprinting system 100. Therefore, when anew printer 110 is added to theprinting system 100, the printer information of the new printer is added to this table and thejob store 140 is automatically informed of the new printer being added. Consequently, an addition of anew printer 110 only requires a configuration change in thejob store 140, instead of requiring a reconfiguration at everyjob submission client 103. - In
step 706, thejob store 140 determines whether a job information request has been received. If it has, the method branches to step 712; otherwise the method proceeds to step 722. - In
step 712, the requested job information is sent to the requesting printer. The job information may be retrieved from theprinter information storage 147 of thejob store 140, for example. The request scenario may include aprinter 110 inquiring whether there are any print jobs associated with thatprinter 110. In this manner, aprinter 110 may pull and print jobs that have been associated with a particular printer. The method then branches back tostep 706. - In
step 722, thejob store 140 determines whether a job association change has been requested. This may occur, for example, if a user decides to re-route the print job to a different printer. Alternatively, this may occur if the user has performed some printer specification after submitting a print job, such as providing a user authentication input, receiving printer information from a beacon, etc. In this manner, the user may select and configure a submitted print job in order to control the printing process. If an association change has been received, the method branches to step 724; otherwise it proceeds to step 731. - In
step 724, thejob store 140 changes the job association for the corresponding print job and branches back tostep 706. The job association may control which printer pulls the print job or which printer receives the pushed print job. - In
step 731, thejob store 140 determines whether a pull request has been received from aprinter 110. If a pull request has been received, the method branches to step 735; otherwise it proceeds to step 744. - In
step 735, in response to a pull request from aprinter 110, thejob store 140 sends the requested print job to the requestingprinter 110. The method then branches back tostep 706. - In
step 744, thejob store 140 determines whether a print job has been declined. The declined print job may be a pushed print job or a pulled print job. A print job may be declined for various reasons, such as for example, the particular printer being out of paper, out of toner, or busy. If the print job has been declined, the method branches to step 749; otherwise the method loops back tostep 706. - In
step 749, the job association for the declined print job is changed. For example, if the original printer is unable to print for any reason, thejob store 140 may change the job association to either push the print job to another printer or allow another printer to pull the print job. - The
printing system 100 according to the invention may be applied to any computer system that includes multiple printers. It may also include any system wherein user authentication is required for printing. Furthermore, it may apply to any system where user may want to print from a portableelectronic device 165, but yet without difficult set-up or configuration. The system may include a portableelectronic device 165 that acts as ajob submission client 103. All output jobs may be routed through thejob store 140, as thejob store 140 may include any necessary drivers for printers (or other output devices) and may use an internal job store driver to perform a job transformation in one location, instead of at differentjob submission clients 103. - The invention differs from the prior art in that in the prior art a printer does not pull a print job. Moreover, in the prior art a printer does not broadcast printer information. In addition, in the prior art a presentation output device does not pull output jobs. Furthermore, in the prior art a portable electronic device cannot receive printer information broadcast from a printer, enabling the user to print without having to manually configure the portable electronic device.
- The invention further differs from the prior art in that the prior art requires an update of all relevant
job submission clients 103 when a new printer is added to a prior art printing system. The prior art also requires knowledge of printer characteristics upon job submission. The prior art does not allow dynamic rerouting of print jobs if a chosen printer is malfunctioning. - The prior art is not capable of using a portable electronic device as a remote control mechanism and does not allow printers to broadcast information to proximity located devices. The prior art does not let a portable electronic device print without installing a driver for at least one of the printers in the prior art printing system.
- Pull-based printing according to the invention provides several benefits. The user does not need to know a printer's name, address, or characteristics, i.e., what driver to use, for example. The user does not need to worry about changes to the
printing system 100. Theprinting system 100 reacts appropriately and automatically to a print job. Theprinting system 100 can provide a pull-based printing capability along with a user authentication capability. Moreover, theprinting system 100 according to the invention can provide a pull-based printing capability for mobile devices. The pull printing capability enables the printer to perform the jobs it can print and reroute print jobs that cannot be successfully performed. In addition, theprinting system 100 and the components thereof may also perform a traditional push-based printing.
Claims (20)
1. A job store for a pull-based presentation output system, comprising:
a job storage storing one or more jobs from a plurality of job submission clients; and
a driver storage storing one or more drivers for converting a job into a format used by a corresponding presentation output device;
wherein said job store receives a job from a job submission client, stores said job in said job storage, receives a pull command from a presentation output device when the presentation output device is one of idle and nearly finished with a current job and without receiving further input from a user of the job submission client, retrieves said job from said job storage, applies a driver for converting that job into a format used by the presentation output device sending the pull command and outputs said job to said presentation output device sending the pull command.
2. The job store of claim 1 , wherein said presentation output device comprises at least one of a display device, a projector, an electronic paper device, a three-dimensional printer and a hologram generator.
3. The job store of claim 1 , further comprising a job store interface for use by said job submission clients, said job store interface converting said job into a neutral format used by said job store to store jobs in said job storage.
4. The job store of claim 1 , further comprising a job store interface for use by said job submission clients, said job store interface accepting an identification of a specific presentation output device to which a corresponding job is to be provided.
5. The job store of claim 1 , wherein said job store accepts said job from said job submission client in encrypted form.
6. The job store of claim 1 , wherein said job store receives user authentication information associated with a job and outputs that job to a presentation output device only upon receipt of corresponding user authentication information.
7. The job store of claim 1 , wherein said job is a print job and said presentation output device comprises a printer, said driver storage storing a printer driver corresponding to said printer.
8. The job store of claim 1 , wherein said job store provides said job to a second output presentation device if said job store receives a decline of said job from a first output presentation device.
9. The job store of claim 1 , wherein said job store comprises first and second job stores that are chained, said first job store being in communication with a job submission client and said second job store being in communication with said presentation output device such that said first and second job stores appear as a single job store to said job submission client and said presentation output device.
10. A job store for a pull-based printing system, comprising:
a job storage storing one or more print jobs to be printed from a plurality of job submission clients; and
a printer driver storage storing one or more printer drivers;
wherein said job store receives a print job from a job submission client, converts the print job into a printer-neutral format, stores said printer-neutral format converted print job in said job storage, receives a pull command from a printer when the printer is one of idle and nearly finished with a current print job and without receiving input from a user of the job submission client, retrieves said print job from said job storage, retrieves a printer driver from said printer driver storage, applies said printer driver to said printer-neutral format converted print job to convert the print job into a format suitable for the printer and provides said print job to said printer.
11. The job store of claim 10 , wherein said job store pushes said print job to a specified printer.
12. The job store of claim 10 , wherein said job store pushes said print job to a specified printer and wherein said print job includes an association to said specified printer.
13. The job store of claim 10 , wherein said job store provides said print job to another printer if said job store receives a decline of said print job by said printer.
14. The job store of claim 10 , wherein said job store comprises first and second job stores that are chained, said first job store being in communication with a job submission client and said second job store being in communication with said printer such that said first and second job stores appear as a single job store to said job submission client and said printer.
15. The job store of claim 10 , wherein said job store further comprises stored printer information comprising a name and address for each of a number of printers.
16. The job store of claim 15 , wherein said printer information further comprises, for each of said number of printers, either a printer capacity or printer location.
17. A presentation output system, comprising:
a digital computer network;
one or more job submission clients communicating over said digital computer network; and
a job store communicating over said digital network, with said job store accepting and holding output jobs from said plurality of job submission clients, and with said job store converting the output jobs accepted from the plurality of job submission clients into a neutral presentation output device format;
wherein said job store further comprises a driver storage that stores one or more drivers for the presentation output device, and with the job store converting the output jobs from the neutral presentation output device format to a format suitable for use by one or more presentation output devices pulling the output jobs from the job store;
wherein said job store receives a pull command from a presentation output device when the presentation output device is one of idle and nearly finished with a current job and without receiving further input from a user of the job submission client, retrieves an output job from job storage, applies a driver for converting that output job into a format used by the presentation output device sending the pull command and outputs said output job to said presentation output device sending the pull command.
18. The presentation output system of claim 17 , wherein a new presentation output device added to said output system automatically informs said job store that said new presentation device is being added.
19. The presentation output system of claim 17 , with said job store further comprising a decryption routine and wherein an output job is encrypted by a job submission client and is decrypted by a receiving presentation output device.
20. The presentation output system of claim 17 , further comprising a job store interface for use by said job submission clients, said job store interface accepting an identification of a specific presentation output device to which a corresponding output job is to be provided.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/163,164 US20110242607A1 (en) | 2002-04-18 | 2011-06-17 | Pull based computer output devices |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/125,804 US8681352B2 (en) | 2002-04-18 | 2002-04-18 | Pull based computer output devices |
US13/163,164 US20110242607A1 (en) | 2002-04-18 | 2011-06-17 | Pull based computer output devices |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/125,804 Continuation US8681352B2 (en) | 2002-04-18 | 2002-04-18 | Pull based computer output devices |
Publications (1)
Publication Number | Publication Date |
---|---|
US20110242607A1 true US20110242607A1 (en) | 2011-10-06 |
Family
ID=29214853
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/125,804 Expired - Fee Related US8681352B2 (en) | 2002-04-18 | 2002-04-18 | Pull based computer output devices |
US13/163,164 Abandoned US20110242607A1 (en) | 2002-04-18 | 2011-06-17 | Pull based computer output devices |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/125,804 Expired - Fee Related US8681352B2 (en) | 2002-04-18 | 2002-04-18 | Pull based computer output devices |
Country Status (5)
Country | Link |
---|---|
US (2) | US8681352B2 (en) |
EP (1) | EP1532513A2 (en) |
JP (1) | JP2005527025A (en) |
AU (1) | AU2003235462A1 (en) |
WO (1) | WO2003090061A2 (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090300733A1 (en) * | 2008-05-30 | 2009-12-03 | Fuji Xerox Co., Ltd. | Information processing apparatus, authentication system, information processing method and storage medium |
WO2016153867A1 (en) * | 2015-03-26 | 2016-09-29 | Otoy, Inc. | Applying holographic effects to prints |
US9457518B2 (en) | 2014-02-07 | 2016-10-04 | Adobe Systems Incorporated | Method and apparatus for controlling printability of a 3-dimensional model |
US9889608B2 (en) | 2014-11-10 | 2018-02-13 | International Business Machines Corporation | Matching the scale of independent objects or intelligently scaling objects when 3D printing |
US10031478B2 (en) | 2015-03-26 | 2018-07-24 | Otoy, Inc. | Applying holographic effects to prints |
WO2019221696A1 (en) * | 2018-05-14 | 2019-11-21 | Hewlett-Packard Development Company, L.P. | Activate scanners for printer beacons |
EP3757750A1 (en) * | 2019-06-27 | 2020-12-30 | Canon Kabushiki Kaisha | Printing system and control method |
Families Citing this family (67)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2299824C (en) * | 2000-03-01 | 2012-02-21 | Spicer Corporation | Network resource control system |
US8843617B2 (en) * | 2000-03-01 | 2014-09-23 | Printeron Inc. | Multi-stage polling mechanism and system for the transmission and processing control of network resource data |
CA2301996A1 (en) * | 2000-03-13 | 2001-09-13 | Spicer Corporation | Wireless attachment enabling |
US7587468B2 (en) * | 2000-10-16 | 2009-09-08 | Electronics For Imaging, Inc. | Methods and systems for the provision of printing services |
GB2374953B (en) * | 2001-04-26 | 2005-11-16 | Hewlett Packard Co | Method and apparatus for embodying documents |
GB2384898B (en) * | 2002-01-31 | 2005-05-18 | Hewlett Packard Co | Method and apparatus for embodying documents |
US7190471B2 (en) * | 2002-05-10 | 2007-03-13 | Hewlett-Packard Development Company, L.P. | Facilitating printing to a local printing device from a portable computing device |
US20030231329A1 (en) * | 2002-06-07 | 2003-12-18 | Xerox Corporation | Method of print-time printer selection |
JP4601244B2 (en) * | 2002-08-13 | 2010-12-22 | 株式会社沖データ | Printing device |
JP4306408B2 (en) * | 2002-12-12 | 2009-08-05 | セイコーエプソン株式会社 | Device management system, printer management system, printer management terminal, terminal program, and device management method |
AU2003901297A0 (en) * | 2003-03-20 | 2003-04-03 | Silverbrook Research Pty Ltd | Systems and apparatus (fpd001) |
US20040186925A1 (en) * | 2003-03-21 | 2004-09-23 | Joe Cooper | Printing system with retained print job emailing |
JP3615749B2 (en) * | 2003-04-25 | 2005-02-02 | 三菱電機インフォメーションシステムズ株式会社 | Print service system and print service program |
JP4847045B2 (en) * | 2004-07-15 | 2011-12-28 | キヤノン株式会社 | Image reading apparatus, image reading method, and image reading system |
JP4424737B2 (en) * | 2004-08-30 | 2010-03-03 | キヤノン株式会社 | Information processing apparatus, information processing method, and system |
KR100612392B1 (en) * | 2004-10-13 | 2006-08-16 | 삼성에스디아이 주식회사 | Light emitting display device and light emitting display panel |
KR100637072B1 (en) * | 2004-10-20 | 2006-10-23 | 삼성전자주식회사 | Printing system and printing method |
US7774606B2 (en) | 2005-01-20 | 2010-08-10 | The Invention Science Fund I, Inc | Write accessibility for electronic paper |
US7739510B2 (en) | 2005-05-12 | 2010-06-15 | The Invention Science Fund I, Inc | Alert options for electronic-paper verification |
US7643005B2 (en) | 2005-01-20 | 2010-01-05 | Searete, Llc | Semi-permanent electronic paper |
US7865734B2 (en) | 2005-05-12 | 2011-01-04 | The Invention Science Fund I, Llc | Write accessibility for electronic paper |
US7856555B2 (en) | 2005-01-20 | 2010-12-21 | The Invention Science Fund I, Llc | Write accessibility for electronic paper |
US8063878B2 (en) | 2005-01-20 | 2011-11-22 | The Invention Science Fund I, Llc | Permanent electronic paper |
US8281142B2 (en) | 2005-01-20 | 2012-10-02 | The Invention Science Fund I, Llc | Notarizable electronic paper |
US7669245B2 (en) * | 2005-06-08 | 2010-02-23 | Searete, Llc | User accessibility to electronic paper |
US8640259B2 (en) | 2005-01-20 | 2014-01-28 | The Invention Science Fund I, Llc | Notarizable electronic paper |
JP4548137B2 (en) * | 2005-02-04 | 2010-09-22 | 富士ゼロックス株式会社 | Process execution instruction apparatus and method, and process execution instruction program |
US7719708B2 (en) * | 2005-06-01 | 2010-05-18 | Sharp Laboratories Of America, Inc. | Secured release method and system for transmitting and imaging a print job in which a security attribute in the print job header will prevent acceptance of subsequent data packets until a user performs authentication on the imaging device |
JP4277230B2 (en) * | 2006-08-07 | 2009-06-10 | コニカミノルタビジネステクノロジーズ株式会社 | Output management server and data output system |
JP4197188B2 (en) * | 2006-12-28 | 2008-12-17 | キヤノンマーケティングジャパン株式会社 | Print management server, print system, print management server control method, print system control method, and program |
US9189192B2 (en) * | 2007-03-20 | 2015-11-17 | Ricoh Company, Ltd. | Driverless printing system, apparatus and method |
JP2009181304A (en) * | 2008-01-30 | 2009-08-13 | Fujifilm Corp | Print system |
CN102047258A (en) * | 2008-05-30 | 2011-05-04 | 惠普开发有限公司 | Secured document transmission |
JP5081072B2 (en) * | 2008-06-13 | 2012-11-21 | 京セラドキュメントソリューションズ株式会社 | Printing system |
US8467079B2 (en) * | 2008-07-25 | 2013-06-18 | General Electric Company | System and method for location based printing for healthcare data |
US20100182630A1 (en) * | 2009-01-22 | 2010-07-22 | Cisco Technology, Inc. | Secure Printing |
US9906660B2 (en) | 2009-06-16 | 2018-02-27 | International Business Machines Corporation | System and apparatus for generation of executables for a heterogeneous mix of multifunction printers |
JP5451234B2 (en) * | 2009-07-30 | 2014-03-26 | キヤノン株式会社 | Information processing apparatus, information processing method, and program |
KR101571348B1 (en) * | 2009-09-01 | 2015-12-04 | 삼성전자주식회사 | Host device, work form execution device, work form creation method and work form execution method |
US8902454B2 (en) * | 2009-10-14 | 2014-12-02 | Ricoh Co., Ltd. | Methods for printing from mobile devices |
JP2012037944A (en) * | 2010-08-03 | 2012-02-23 | Canon Inc | Image forming device, substitute operation system, image forming device control method, and program |
US8570566B2 (en) * | 2010-09-17 | 2013-10-29 | Printeron Inc. | System and method that provides user interface on mobile network terminal for releasing print jobs based on location information |
US8970873B2 (en) | 2010-09-17 | 2015-03-03 | Printeron Inc. | System and method for managing printer resources on an internal network |
CA2759736C (en) | 2010-11-30 | 2020-12-29 | Printeron Inc. | System for internet enabled printing |
JP5236720B2 (en) * | 2010-12-13 | 2013-07-17 | シャープ株式会社 | Information processing apparatus, image output system, image output support apparatus for image output system, program, and recording medium |
US9451311B2 (en) * | 2010-12-20 | 2016-09-20 | Ricoh Company, Ltd. | Generic remote controller |
JP5464156B2 (en) * | 2011-02-25 | 2014-04-09 | コニカミノルタ株式会社 | Printing system, printing method, terminal device, and computer program |
US8711407B2 (en) * | 2011-04-04 | 2014-04-29 | Xerox Corporation | Method for generating optical codes for a print-context |
US8953192B2 (en) * | 2011-10-17 | 2015-02-10 | Google Inc. | Roving printing in a cloud-based print service using a mobile device |
JP6024167B2 (en) * | 2012-04-09 | 2016-11-09 | 株式会社リコー | Request processing system |
US9005710B2 (en) | 2012-07-19 | 2015-04-14 | Nike, Inc. | Footwear assembly method with 3D printing |
CN104615388B (en) * | 2013-11-01 | 2017-12-22 | 精工爱普生株式会社 | Print control system |
IN2014DE02931A (en) | 2013-11-01 | 2015-06-26 | Seiko Epson Corp | |
US20150138585A1 (en) * | 2013-11-19 | 2015-05-21 | Toshiba Tec Kabushiki Kaisha | Printing management system, printing management method, and image forming apparatus |
US9356882B2 (en) | 2014-02-04 | 2016-05-31 | Printeron Inc. | Streamlined system for the transmission of network resource data |
JP6237576B2 (en) * | 2014-11-08 | 2017-11-29 | 京セラドキュメントソリューションズ株式会社 | Pull print system |
JP6458593B2 (en) * | 2015-03-27 | 2019-01-30 | ブラザー工業株式会社 | Image recording apparatus and control program |
US20170091476A1 (en) * | 2015-09-25 | 2017-03-30 | Bruce Basheer | Systems and Methods for Providing Centralized and Community-Based Management of Three-Dimensional Printable Files |
WO2017085468A1 (en) * | 2015-11-16 | 2017-05-26 | Renishaw Plc | An additive manufacturing method and apparatus |
JP6561827B2 (en) * | 2015-12-24 | 2019-08-21 | ブラザー工業株式会社 | Image processing apparatus and information processing apparatus program |
US20170265027A1 (en) * | 2016-03-09 | 2017-09-14 | Seiko Epson Corporation | Beacon Network for Identifying Shopper Locations and Providing Enhanced Shopper Services |
US20170262739A1 (en) * | 2016-03-09 | 2017-09-14 | Seiko Epson Corporation | Configuration of Equipment with Retailer and Geolocation Information |
EP3433736A4 (en) * | 2016-07-15 | 2019-11-06 | Hewlett-Packard Development Company, L.P. | Content management |
KR20180015958A (en) * | 2016-08-04 | 2018-02-14 | 에스프린팅솔루션 주식회사 | Image forming apparatus and status information transmittnig method thereof |
US11167497B2 (en) | 2016-11-14 | 2021-11-09 | Renishaw Plc | Localising sensor data collected during additive manufacturing |
JP2019155620A (en) * | 2018-03-08 | 2019-09-19 | 富士ゼロックス株式会社 | Image forming apparatus and program |
US11169752B2 (en) * | 2019-10-31 | 2021-11-09 | Kyocera Document Solutions Inc. | Image forming system, image forming apparatus, and image forming method allowing serverless pull printing |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5287194A (en) * | 1992-11-25 | 1994-02-15 | Xerox Corporation | Distributed printing |
US5832191A (en) * | 1997-04-30 | 1998-11-03 | Hewlett-Packard Company | Method and apparatus for automatically enabling communication with a network printer |
US6650433B1 (en) * | 2000-01-25 | 2003-11-18 | Vista Print Usa Inc. | Managing print jobs |
Family Cites Families (56)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4829468A (en) * | 1987-09-18 | 1989-05-09 | Hitachi, Ltd. | Print control system |
US5566278A (en) * | 1993-08-24 | 1996-10-15 | Taligent, Inc. | Object oriented printing system |
US5580177A (en) * | 1994-03-29 | 1996-12-03 | Hewlett-Packard Company | Printer/client network with centrally updated printer drivers and printer status monitoring |
US5689755A (en) | 1994-04-21 | 1997-11-18 | Sharp Kabushiki Kaisha | Distributed interconnected image forming system |
US5699495A (en) * | 1994-07-27 | 1997-12-16 | Microsoft Corporation | Point-and-print in a distributed environment |
US5602974A (en) * | 1994-10-05 | 1997-02-11 | Microsoft Corporation | Device independent spooling in a print architecture |
US5881213A (en) * | 1994-10-05 | 1999-03-09 | Microsoft Corporation | Deferred printing |
US5619649A (en) * | 1995-06-12 | 1997-04-08 | Xerox Corporation | Network printing system for programming a print job by selecting a job ticket identifier associated with remotely stored predefined document processing control instructions |
DE19522053A1 (en) * | 1995-06-17 | 1996-12-19 | Roland Man Druckmasch | Information transmission system |
US6816271B1 (en) * | 1996-01-18 | 2004-11-09 | Canon Kabushiki Kaisha | Information processing apparatus, method, and system to facilitate control of multiple printers by displaying the printers' languages |
US5862325A (en) | 1996-02-29 | 1999-01-19 | Intermind Corporation | Computer-based communication system and method using metadata defining a control structure |
US6219148B1 (en) * | 1996-03-08 | 2001-04-17 | Canon Kabushiki Kaisha | Printer spooler output apparatus and method with computer program and memory storage medium |
JPH09258931A (en) * | 1996-03-27 | 1997-10-03 | Fuji Xerox Co Ltd | Printing controller |
US6552813B2 (en) * | 1996-06-11 | 2003-04-22 | Sun Microsystems, Inc. | Directing print jobs in a network printing system |
JP3620154B2 (en) | 1996-07-01 | 2005-02-16 | 富士ゼロックス株式会社 | Printing system and printing control method |
JP3445122B2 (en) * | 1996-11-06 | 2003-09-08 | キヤノン株式会社 | Image forming device |
US6007318A (en) * | 1996-12-20 | 1999-12-28 | Z Corporation | Method and apparatus for prototyping a three-dimensional object |
US5825009A (en) * | 1997-03-11 | 1998-10-20 | Psc, Inc. | Wireless bar code scanning system |
JPH10254662A (en) | 1997-03-13 | 1998-09-25 | Casio Electron Mfg Co Ltd | PRINTING SYSTEM AND PRINT CONTROL METHOD USING THE SYSTEM |
US5982996A (en) * | 1997-03-13 | 1999-11-09 | Hewlett-Packard Company | Mechanism for printer driver switching in windows operating systems to allow distribution of print jobs to an output device from a single print request within an application |
US5978559A (en) * | 1997-10-07 | 1999-11-02 | Xerox Corporation | User interface for distributed printing system |
US6687018B1 (en) | 1997-11-07 | 2004-02-03 | Xerox Corporation | System and method for distributing print jobs |
US6055063A (en) * | 1997-11-07 | 2000-04-25 | Xerox Corporation | Dynamic extension of print capabilities |
US6201611B1 (en) * | 1997-11-19 | 2001-03-13 | International Business Machines Corporation | Providing local printing on a thin client |
EP0935182A1 (en) | 1998-01-09 | 1999-08-11 | Hewlett-Packard Company | Secure printing |
US7079269B2 (en) * | 1998-03-19 | 2006-07-18 | Océ-Technologies B.V. | Interactive printing with a plurality of printer devices |
US6266150B1 (en) * | 1998-08-24 | 2001-07-24 | International Business Machines Corporation | Virtual printer |
US6219151B1 (en) | 1998-08-24 | 2001-04-17 | Hitachi Koki Imaging Solutions, Inc. | Network printing system |
KR100363160B1 (en) | 1998-10-21 | 2003-01-24 | 삼성전자 주식회사 | Network printing system and processing of waiting job in case of printing error |
JP4138106B2 (en) * | 1998-10-22 | 2008-08-20 | セイコーエプソン株式会社 | Printer for electronic paper |
EP1171814A1 (en) | 1999-03-30 | 2002-01-16 | BRITISH TELECOMMUNICATIONS public limited company | Network printing method in apparatus |
JP2000311072A (en) | 1999-04-28 | 2000-11-07 | Fuji Xerox Co Ltd | Network printing device |
JP2001092765A (en) | 1999-07-16 | 2001-04-06 | Canon Inc | Information processor, device, network system, information processing method, device control method, device retrieving method and storage medium |
US6862583B1 (en) | 1999-10-04 | 2005-03-01 | Canon Kabushiki Kaisha | Authenticated secure printing |
US7124094B1 (en) | 1999-10-27 | 2006-10-17 | Konica Corporation | Print system, service system, data server, master server, print client system and printer |
JP2001142380A (en) * | 1999-11-12 | 2001-05-25 | Sony Corp | Device and method for producing hologram and hologram |
JP4035271B2 (en) * | 1999-12-27 | 2008-01-16 | キヤノン株式会社 | Information transmitting device, information receiving device, control method thereof, storage medium and system |
JP3452247B2 (en) * | 1999-12-28 | 2003-09-29 | セイコーエプソン株式会社 | Printer, printer control method, and recording medium recording program |
JP3508671B2 (en) * | 2000-01-24 | 2004-03-22 | セイコーエプソン株式会社 | Print job management system |
JP3684982B2 (en) | 2000-02-21 | 2005-08-17 | セイコーエプソン株式会社 | System that mediates printing on the network |
JP2001325182A (en) | 2000-03-10 | 2001-11-22 | Ricoh Co Ltd | Print system, print method, computer readable recording medium with program recorded therein, portable communication equipment of print system, printer, print server and client |
JP2001287422A (en) | 2000-04-07 | 2001-10-16 | Sato Corp | Label printer, terminal for controlling the same, and transceiver for connecting to the label printer |
JP4039242B2 (en) * | 2000-05-31 | 2008-01-30 | セイコーエプソン株式会社 | Projector and projection display system, and method and recording medium therefor |
US7587207B2 (en) * | 2000-06-26 | 2009-09-08 | Ipg Electronics 503 Limited | Data delivery through beacons |
US6928263B2 (en) * | 2000-06-26 | 2005-08-09 | Koninklijke Philips Electronics N.V. | Local data delivery through beacons |
JP3638117B2 (en) | 2000-07-14 | 2005-04-13 | シャープ株式会社 | Network printing system |
CA2315270A1 (en) | 2000-08-04 | 2002-02-04 | Charon Systems Inc. | Printer driver system for remote printing |
US6874034B1 (en) * | 2000-08-17 | 2005-03-29 | Hewlett-Packard Development Company, L.P. | Intelligent peer hybrid printing protocol |
US7000001B2 (en) * | 2000-09-12 | 2006-02-14 | Research In Motion Limited | Bookmark beacon system and method |
US20020042882A1 (en) | 2000-10-10 | 2002-04-11 | Dervan R. Donald | Computer security system |
US6978299B1 (en) * | 2000-10-16 | 2005-12-20 | Electronics For Imaging, Inc. | Print driver apparatus and methods for forwarding a print job over a network |
US7636757B2 (en) | 2000-12-15 | 2009-12-22 | Canon Kabushiki Kaisha | Printing over the internet |
US7283266B2 (en) * | 2000-12-28 | 2007-10-16 | Canon Kabushiki Kaisha | Information processing apparatus and print control apparatus, data processing method, storage medium and program |
US7180615B2 (en) * | 2001-01-03 | 2007-02-20 | International Business Machines Corporation | One click printing in a web browser |
US7102796B2 (en) | 2001-08-23 | 2006-09-05 | Hewlett-Packard Development Company, L.P. | Network printing system using a process power broker for directing print job from busy machines to idle machines for processing only before printing |
US20030137689A1 (en) * | 2002-01-18 | 2003-07-24 | General Instrument Corporation. | Remote printer driver server |
-
2002
- 2002-04-18 US US10/125,804 patent/US8681352B2/en not_active Expired - Fee Related
-
2003
- 2003-04-17 JP JP2003586738A patent/JP2005527025A/en active Pending
- 2003-04-17 AU AU2003235462A patent/AU2003235462A1/en not_active Abandoned
- 2003-04-17 WO PCT/US2003/012036 patent/WO2003090061A2/en active Search and Examination
- 2003-04-17 EP EP03724094A patent/EP1532513A2/en not_active Ceased
-
2011
- 2011-06-17 US US13/163,164 patent/US20110242607A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5287194A (en) * | 1992-11-25 | 1994-02-15 | Xerox Corporation | Distributed printing |
US5832191A (en) * | 1997-04-30 | 1998-11-03 | Hewlett-Packard Company | Method and apparatus for automatically enabling communication with a network printer |
US6650433B1 (en) * | 2000-01-25 | 2003-11-18 | Vista Print Usa Inc. | Managing print jobs |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090300733A1 (en) * | 2008-05-30 | 2009-12-03 | Fuji Xerox Co., Ltd. | Information processing apparatus, authentication system, information processing method and storage medium |
US8424066B2 (en) * | 2008-05-30 | 2013-04-16 | Fuji Xerox Co., Ltd. | Information processing apparatus, authentication system, information processing method and storage medium |
US9457518B2 (en) | 2014-02-07 | 2016-10-04 | Adobe Systems Incorporated | Method and apparatus for controlling printability of a 3-dimensional model |
US9889608B2 (en) | 2014-11-10 | 2018-02-13 | International Business Machines Corporation | Matching the scale of independent objects or intelligently scaling objects when 3D printing |
US9889609B2 (en) | 2014-11-10 | 2018-02-13 | International Business Machines Corporation | Matching the scale of independent objects or intelligently scaling objects when 3D printing |
WO2016153867A1 (en) * | 2015-03-26 | 2016-09-29 | Otoy, Inc. | Applying holographic effects to prints |
US10031478B2 (en) | 2015-03-26 | 2018-07-24 | Otoy, Inc. | Applying holographic effects to prints |
WO2019221696A1 (en) * | 2018-05-14 | 2019-11-21 | Hewlett-Packard Development Company, L.P. | Activate scanners for printer beacons |
US11126387B2 (en) | 2018-05-14 | 2021-09-21 | Hewlett-Packard Development Company, L.P. | Activate scanners for printer beacons |
EP3757750A1 (en) * | 2019-06-27 | 2020-12-30 | Canon Kabushiki Kaisha | Printing system and control method |
US11409485B2 (en) | 2019-06-27 | 2022-08-09 | Canon Kabushiki Kaisha | Printing system and control method that maintains a response performance when processing load increases |
Also Published As
Publication number | Publication date |
---|---|
AU2003235462A1 (en) | 2003-11-03 |
EP1532513A2 (en) | 2005-05-25 |
US20030197887A1 (en) | 2003-10-23 |
WO2003090061A2 (en) | 2003-10-30 |
JP2005527025A (en) | 2005-09-08 |
US8681352B2 (en) | 2014-03-25 |
WO2003090061A3 (en) | 2005-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8681352B2 (en) | Pull based computer output devices | |
US6553431B1 (en) | Information processing system and information processing method | |
US8064074B2 (en) | Image reading apparatus, personalizing method, program, and storage medium | |
KR102048865B1 (en) | Roving printing in a cloud-based print service | |
US8493577B2 (en) | Control device, image forming apparatus, printing system, control method, and control program | |
US20030084132A1 (en) | Network system, information processing apparatus, information processing method, and control program | |
US7812984B2 (en) | Remote stored print job retrieval | |
JP5100488B2 (en) | Information processing apparatus, information processing method, and program | |
EP1978442B1 (en) | Program-generating device and method, program for implementing the program-generating method, and storage medium | |
JP2002236577A (en) | Automatic authenticating method for print processing and system thereof | |
US20060287962A1 (en) | Information processor, method for controlling the same, and image forming system | |
JP2006195831A (en) | Printer driver, information processor therewith, print controller, and method for creating print data | |
JP2009190199A (en) | Printing apparatus, document management apparatus, and computer program | |
US10003703B2 (en) | Data processing apparatus and print system | |
US7126707B2 (en) | Information processing apparatus issuing job to peripheral device and method for issuing job to peripheral device | |
JP2008123058A (en) | Printing system, printing-controlling device, and program | |
JP2010061536A (en) | Printing system, printing control device, and printing control program | |
US8488148B2 (en) | Printing system for notifying data processing apparatus of information regarding a location of printing apparatus | |
JP2007249327A (en) | Information processing apparatus, image processing apparatus, image processing system, job processing method, storage medium and program | |
JP2007280035A (en) | Printing process system and method, and information processing apparatus and method | |
CN110764720B (en) | Printing apparatus, control method of printing apparatus, and storage medium | |
US20050068556A1 (en) | Method and system to manage multiple format fonts in an image generating device | |
JP4542719B2 (en) | Printer and printing method using the printer | |
US7652798B2 (en) | System and method for storing of print job data | |
JP2010074295A (en) | On-demand printing system and control method thereof, control method of document management server device, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO PAY ISSUE FEE |