The present invention relates to a method of providing a printer with an operating system with which to control a print engine and interpret data sent from a host device.
An operating system is written to perform a specific function that characterizes the printer. The operating system enables a printer to render a print image on a print medium that corresponds to the print image data sent from the host application software. This data used to represent the print image can take any of several standard forms as well as any proprietary format as developed by the printer manufacturer. Data formats that are standard in the industry allow host application software developers to easily obtain information necessary to output data in these formats. Thus, a printer that recognizes many of these proprietary or standard formats, e.g., PCL, PostScript, PPDS, GL and Impress, is more versatile than one that has been targeted to a specific data format.
It is known in conventional printer systems to utilize various non-volatile memory storage devices to store the Operating System (OS) microcode in the printer. A single printer can store a large number of various operating systems in memory. The host computer identifies to the printer the format in which the print data is being sent. Based upon this data format identification, the printer selects the appropriate operating system from memory with which to interpret the print data. A problem is that a large amount of memory is required to store multiple operating systems within the printer.
It is also known to provide a printer with an EPROM device or a flash memory in which an operating system can be stored. When the data format of the print data to be sent by the host computer is incompatible with the operating system stored in the EPROM or flash memory, the user physically removes the EPROM or flash memory and reprograms it with the appropriate new operating system. A problem is that physical interaction with the printer is required and it is impractical to download printer functions and features from sources such as the internet or bulletin board systems.
Similarly, it is known to provide a printer with cartridges that contain one or more operating systems. The user can replace the cartridges to suit the requirements of the data format of the print data to be sent by the host computer. A problem, again, is that physical interaction is required and downloading files from external sources is impractical.
What is needed in the art is a method of providing a printer with an operating system which requires no physical interaction with the user and a minimum of memory to store the operating system for use with a print job.
The present invention provides a method of downloading an operating system from a host computer to a printer whenever the operating system resident in the printer is not compatible with the data format of the print data to be sent from the host computer.
The invention comprises, in one form thereof, a method of printing on a print medium with a printer which is in communication with a host computer. The method includes the steps of providing the host computer with a print job to be printed by the printer, identifying a data format associated with the print job, determining an operating system stored in the printer, comparing the data format with the printer operating system, downloading an operating system which corresponds to the data format from the host computer to the printer if the printer operating system does not correspond to the data format, transmitting print data associated with the print job from the host computer to the printer, and printing on the print medium with the printer using the print data.
An advantage of the present invention is that a minimum of memory is required in the printer for the storage of operating systems; also, this memory need not be non-volatile.
Another advantage is that the operating system can be upgraded by the user without any physical interaction with the printer.
Yet another advantage is that a single printer can be used in multiple environments where different printer models are generally required.
The above-mentioned and other features and advantages of this invention, and the manner of obtaining them, will become more apparent and the invention will be better understood by reference to the following description of embodiments of the invention taken in conjunction with the accompanying drawings, wherein:
Corresponding reference characters indicate corresponding parts throughout the several views. The exemplification set out herein illustrates one preferred embodiment of the invention, in one form, and such exemplification is not to be construed as limiting the scope of the invention in any manner.
The present invention includes a method of enabling a printer to adapt to any one of a set of different characteristic operating schemes and image data formats without having to store the necessary microcode for all implementations. The printer only stores the operating system being used at the time of printing and can accept a new functional system description with each new print job.
Referring now to the drawings and more particularly to
Printer 10 includes a buffer memory 14, an electrical processing circuit (EPC) 16 which can be, e.g., a microprocessor; a memory device 18 which can include, e.g., a Random Access Memory (RAM) and/or Read Only Memory (ROM); a print engine 20 including, e.g., an electrophotographic assembly or an ink cartridge mounted on a movable carriage assembly; and a communication channel 22 which can be, e.g., a data bus. Wherein this application the term “memory”, “memory device” or the like is used, it is to be understood that the term may include multiple memory elements. All data or other information passing between host 12 and electrical processing circuit 16 is directed through buffer memory 14 in the embodiment shown in FIG. 1.
Referring now to
The method of this embodiment allows printer 10 to adapt to any print format sent by host 12 by simply receiving the microcode necessary to interpret the new data format. Having an appropriate operating system stored in memory 18, electrical processing circuit 16 can interpret the print job sent from host 12 and transfer the print job to print engine 20 for printing on a print medium (not shown).
In another embodiment, printer 10, rather than host 12, determines the data format associated with the print job, as shown in step S2. A portion of the print data associated with the print job, perhaps approximately ten bytes, is transferred from host computer 12 to buffer memory 14 in printer 10. Printer 10 analyzes the sample of print data to identify the data format being employed. Printer 10 then compares the data format identified in the sample of print data to the operating system stored in memory 18 (step S5). If the data format is incompatible with the stored operating system, printer 10 requests that host computer 12 download the operating system that corresponds to the data format of the sample of print data (step S6).
Although the present invention has been described with reference to preferred embodiments, those skilled in the art will recognize that changes may be made in form and detail without departing from the spirit and scope of the following claims.
Number | Name | Date | Kind |
---|---|---|---|
4742483 | Morrell | May 1988 | A |
4926347 | Uchida et al. | May 1990 | A |
5050098 | Brown, III et al. | Sep 1991 | A |
5142680 | Ottman et al. | Aug 1992 | A |
5146568 | Flaherty et al. | Sep 1992 | A |
5197123 | Nagata et al. | Mar 1993 | A |
5222200 | Callister et al. | Jun 1993 | A |
5228118 | Sasaki | Jul 1993 | A |
5239621 | Brown, III et al. | Aug 1993 | A |
5280627 | Flaherty et al. | Jan 1994 | A |
5293466 | Bringmann | Mar 1994 | A |
5303336 | Kageyama et al. | Apr 1994 | A |
5332320 | Ohara | Jul 1994 | A |
5371837 | Kimber et al. | Dec 1994 | A |
5388920 | Ohara | Feb 1995 | A |
5410641 | Wakabayashi et al. | Apr 1995 | A |
5438528 | Emerson et al. | Aug 1995 | A |
5442541 | Hube et al. | Aug 1995 | A |
5444826 | Okada | Aug 1995 | A |
5445459 | Sasaki | Aug 1995 | A |
5467432 | Ota | Nov 1995 | A |
5467435 | Douglas et al. | Nov 1995 | A |
5495559 | Makino | Feb 1996 | A |
5533174 | Flowers, Jr. et al. | Jul 1996 | A |
5537626 | Kraslavsky et al. | Jul 1996 | A |
5561744 | Sugaya et al. | Oct 1996 | A |
5568594 | Suzuki | Oct 1996 | A |
5611046 | Russell et al. | Mar 1997 | A |
5613160 | Kraslavsky et al. | Mar 1997 | A |
5666293 | Metz et al. | Sep 1997 | A |
5671341 | Kashiwazaki et al. | Sep 1997 | A |
5754748 | Rivers et al. | May 1998 | A |
5838887 | Murakami | Nov 1998 | A |