US20030086107A1 - Remote firmware upgrade via I/O connection - Google Patents
Remote firmware upgrade via I/O connection Download PDFInfo
- Publication number
- US20030086107A1 US20030086107A1 US10/007,963 US796301A US2003086107A1 US 20030086107 A1 US20030086107 A1 US 20030086107A1 US 796301 A US796301 A US 796301A US 2003086107 A1 US2003086107 A1 US 2003086107A1
- Authority
- US
- United States
- Prior art keywords
- control program
- imaging device
- computer
- communication input
- image data
- 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
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K15/00—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
- G06K15/02—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
- G06K15/18—Conditioning data for presenting it to the physical printing elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K15/00—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
- G06K15/02—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
- G06K15/18—Conditioning data for presenting it to the physical printing elements
- G06K15/1801—Input data handling means
- G06K15/1803—Receiving particular commands
- G06K15/1806—Receiving job control commands
Definitions
- the present invention relates generally to imaging devices, and in particular to eliminating the need to maintain a nonvolatile image of a control program on an imaging device.
- Imaging devices are found in a vast number of computer networks and personal computer setups. Imaging devices include printers, facsimile machines (faxes), plotters, multi-function devices and other devices used for producing a tangible image from image data.
- the image data is typically generated by some user application in a device external to the imaging device.
- An example includes composing a document in a word-processing application of a computer workstation, generating image data in the word-processing application and communicating the image data to a networked or local printer to produce a hard copy of the document.
- the image data is generally provided to the imaging device in a compressed form.
- the compressed form may be simply a compression of raster data, but is more commonly a high-level page description language (PDL) providing information to the imaging device on how to recreate the image.
- PDLs are often device-independent languages, i.e., the same image data can be provided to devices of differing types and/or differing manufacturers to produce an end result that is substantially the same. Examples of PDLs include Printer Command Language or PCL (Hewlett-Packard Company, Palo Alto, Calif., USA), PostScript® (Adobe Systems Incorporated, San Jose, Calif., USA) and Interpress (Xerox Corporation, Stamford, Conn., USA).
- PCL Printer Command Language
- PCL Printer Command Language
- PostScript® Adobe Systems Incorporated, San Jose, Calif., USA
- Interpress Xerox Corporation, Stamford, Conn., USA.
- imaging devices have what is often referred to as a formatter.
- the formatter has a processor that is responsive to a control program to convert the image data to a printable image.
- the control program typically provides interpretation of the PDLs, character generation, device emulation, etc.
- the printable image is typically uncompressed raster or bitmap information that is supplied to another component of the imaging device, often referred to as an engine.
- the engine controls the mechanical components of the imaging device to produce a tangible output, such as a hardcopy of the printable image.
- the control programs responsible for conversion of the image data are often referred to as formatter firmware or simply firmware.
- Firmware is computer-readable instructions adapted to cause the processor to perform the conversion methods. These instructions are generally stored on a nonvolatile computer-usable medium.
- Some examples of nonvolatile computer-usable media include read-only memory (ROM), electrically-erasable programmable ROM (EEPROM or Flash memory), magnetic media and optical media.
- ROM read-only memory
- EEPROM or Flash memory electrically-erasable programmable ROM
- magnetic media and optical media.
- the control programs are typically stored on the nonvolatile media in a compressed form, then expanded and transferred to a volatile media for use by the processor. This approach reduces the amount of nonvolatile media that must be installed in the imaging device, thus reducing cost, and increases the access rate of the instructions by the processor, thus improving device performance.
- Imaging devices and methods of operating imaging devices are described that facilitate reducing nonvolatile storage needs of the imaging devices.
- the imaging devices are adapted to request control programs from external devices without the need to maintain a nonvolatile image of a control program within the imaging device.
- Control programs are received on a communication input of the imaging device and stored on a volatile storage media for use by a processor of the imaging device.
- the embodiments can also facilitate more reliable updating within a networked system in that updating an image of a control program on one network device can automatically lead to updating of multiple imaging devices, thus eliminating a need to individually update each imaging device.
- the invention provides an imaging device.
- the imaging device includes a communication input for receiving image data from an external device and a formatter for converting the image data into a printable image as directed by a control program.
- the control program is alterable through the communication input of the imaging device.
- the imaging device further contains no nonvolatile image of the control program.
- the invention provides an imaging device.
- the imaging device includes a communication input for receiving image data and other signals from an external device and a communication output.
- the imaging device further includes a formatter for converting image data into a printable image as directed by a control program, a first computer-usable media for storing the control program, and a second computer-usable media having computer-readable instructions stored thereon capable of causing a processor to perform a method.
- the method includes providing a signal on the communication output of the imaging device indicative of a desire to transfer a control program from an external device to the communication input of the imaging device and waiting for a control program to be received on the communication input of the imaging device in response to the signal.
- the invention provides a method of operating an imaging device.
- the method includes generating a request for a control program upon an initialization of the imaging device.
- the control program is adapted to convert image data received by the imaging device into a printable image.
- the method further includes providing the request on a communication output of the imaging device and waiting to receive the control program via a communication input of the imaging device.
- the invention provides a computer-usable medium having computer-readable instructions stored thereon capable of causing a processor to perform a method.
- the method includes generating a request, in response to an initialization process, for a control program for converting image data into a printable image.
- the method further includes providing the request on a communication output of the processor and waiting to receive the control program via a communication input of the processor.
- FIG. 1 is a schematic of an imaging device in accordance with an embodiment of the invention.
- FIG. 2 is a schematic of a formatter in accordance with an embodiment of the invention.
- FIG. 3 is a flowchart of a method of operating an imaging device in accordance with an embodiment of the invention.
- FIG. 4 is a flowchart of a method of operating an imaging device in accordance with another embodiment of the invention.
- Standard operation of an imaging device is to load its control programs during an initialization of the imaging device, such as during a power-up or re-boot of the device.
- the control programs contain at least those instructions enabling the imaging device to recognize, interpret and convert image date to a printable image, such as those instructions enabling a processor of the formatter to recognize an incoming data stream of page description language (PDL), and to interpret and convert the PDL to a printable image for input to an engine controlling the mechanical aspects of the device.
- PDL page description language
- Nonvolatile random-access memory Flash memory
- DRAM dynamic random-access memory
- DRAM dynamic random-access memory
- DRAM requires a periodic refresh, and thus an application of power, to maintain its memory contents. Accordingly, if power is lost to or removed from the imaging device, the control programs residing in DRAM will be lost, but the compressed image of the control programs on the NVRAM will be retained.
- control programs have been stored on nonvolatile storage media, this does not imply that the control programs are necessarily permanent.
- low-end or older imaging devices may utilize a read-only memory (ROM) that is unalterable by the end user, it is more common for the control programs to be stored on a nonvolatile storage media that is alterable by the end user. This ability is useful for upgrading the control programs, e.g., providing different or additional features, or for correcting the control programs, e.g., providing fixes to known errors within the control programs.
- ROM read-only memory
- NVRAM can be rewritten or reprogrammed to change its memory contents to represent the upgraded control programs. This is typically accomplished by sending a file to the imaging device having a data structure that is recognized by the imaging device's operating system as containing control programs. This file, or firmware upgrade, is typically identified using header information within the file. When the imaging device identifies an incoming data stream as containing a firmware upgrade, the file is processed to replace the control programs currently residing in the NVRAM.
- control programs for one or more imaging devices are stored remote from the imaging devices for access during the initialization of the imaging devices.
- the control programs are communicated to an input of an imaging device during an initialization of the imaging device, permitting bypass, and thus elimination, of nonvolatile storage media devoted to the control programs.
- the input is preferably an input/output (I/O) port of the imaging device, such as a parallel port, serial port, universal serial bus (USB) port or other such communication port.
- the I/O port is used by the imaging device for receiving, among other things, image data from a network or local host device.
- FIG. 1 is a schematic of an imaging device 110 in accordance with an embodiment of the invention.
- the imaging device 110 is in communication with a host device 120 through a communication interface 130 .
- the imaging device 110 may be any device for producing a tangible image from image data. Examples include printers, facsimile machines (faxes), plotters and multi-function devices.
- the host device 120 may be a local host device, such as a personal computer or other workstation, providing direct communication between an end user and the imaging device 110 .
- the host device 120 may further be a networked host device, such as a network server, acting as an intermediary between an end user and the imaging device 110 .
- the imaging device 110 includes a communication port or I/O port 112 .
- the I/O port 112 serves as a communication input for image data and other data, such as configuration data, commands and firmware upgrades, from the host device 110 .
- the I/O port 112 also serves as a communication output for communicating status information or requests to the host device 120 .
- Data streams received at the I/O port 112 are interpreted by a formatter 114 . If the data streams are recognized as image data, such as data describing an image 140 , the image data is converted to a printable image for input to an engine 116 . The engine 116 controls operation of a mechanical portion 118 of the imaging device 110 to produce a tangible image 145 on an output 150 .
- FIG. 2 is a schematic of a formatter 114 in accordance with an embodiment of the invention.
- the formatter 114 includes a processor 252 for communication with the I/O port 112 and the engine 116 of an imaging device 110 .
- the processor is further in communication with a nonvolatile storage media 254 and a volatile storage media 256 .
- the storage media 254 and 256 are computer-usable media for storing computer-readable instructions for execution by the processor 252 .
- the nonvolatile storage media includes a portion of code, or a set of computer-readable instructions 255 .
- the set of computer-readable instructions 255 facilitate the operating system of the formatter 114 . That is, the set of computer-readable instructions 255 enable the processor 252 to communicate across the I/O port 112 of the imaging device 110 and to communicate with the engine 116 .
- the set of computer-readable instructions 255 are capable of causing the processor 252 to request and receive a control program from a device external to the imaging device 110 , such as a host device 120 .
- the request is provided on the I/O port 112 of the imaging device 110 .
- the processor 252 looks for incoming data streams on the I/O port 112 . Incoming data streams are analyzed by the processor 252 to determine whether they are indicative of a file containing a valid control program for the imaging device 110 , e.g., as indicated in file header information. When an appropriate file is identified, the processor 252 processes the information to store the control program on the volatile storage media 256 as a portion of code, or a set of computer-readable instructions 257 .
- the nonvolatile storage media 254 includes no computer-readable instructions capable of causing the processor 252 to convert image data into a printable image for use by the engine 116 , i.e., the imaging device 110 contains no nonvolatile image of a formatter control program.
- the nonvolatile storage media 254 contains a default version of a control program capable of causing the processor 252 to convert image data into a printable image.
- a default version is preferably unalterable by an end user of the imaging device 110 .
- the default version of the control program can be stored on a ROM that is programmed as part of a manufacturing process of the imaging device 110 .
- the default version of the control program would be expanded from the nonvolatile storage media 254 and copied to the volatile storage media 256 for use by the processor 252 if no control program is available in response to the request provided at the I/O port 112 .
- the imaging device 110 would have a base functionality as provided by the default version of the control program. Additional features or fixes would be available only upon receiving a control program via the I/O port 112 for transfer to the volatile storage media 256 .
- FIG. 3 is a flowchart of a method of operating an imaging device in accordance with an embodiment of the invention.
- the imaging device generates a request for a control program upon an initialization of the imaging device. For example, during a boot sequence, a processor generates a signal indicative of a desire to receive a control program from an external device.
- the imaging device may request identification of what host device it is connected to. When a host device acknowledges, the imaging device may ask if the host has a control program for the imaging device. If the host device acknowledges that it has an appropriate image of the control program, the imaging device can then request that it be communicated to the imaging device.
- the imaging device provides the request on a communication output of the imaging device, e.g., the I/O port, at action box 362 .
- the request is provided on the communication output of the imaging device through a communication output of a formatter of the imaging device as provided, e.g., on a communication output of a processor of the formatter. If the imaging device is connected to a local host device, or if a host device acknowledged that a control program was available, the imaging device may direct the request to a specific device. Alternatively, if the imaging device is on a network, and the host device did not acknowledge that a control program was available, the request may be broadcast to other network devices.
- the imaging device waits to receive a control program on a communication input of the imaging device, e.g., the I/O port, at action box 364 .
- Image data may be accepted by the imaging device while it waits for the control program.
- image data would be stored on some computer-usable media, such as the volatile storage media or even the nonvolatile storage media of the imaging device, until a control program was available to convert the image data to a printable image.
- a control program i.e., a data stream having data representative of an image of the control program
- the control program is transferred to the volatile storage media for use by the processor to convert any image data into a printable image. Recognizing a data stream as having data representative of a control program need not be different from existing recognition of a firmware upgrade file. However, instead of programming a nonvolatile storage media to contain the compressed image of the control program, a decompressed image is transferred directly to the volatile storage media.
- FIG. 4 is a flowchart of a method of operating an imaging device in accordance with another embodiment of the invention.
- the imaging device has an available image of a default control program.
- the imaging device generates a request for a control program upon an initialization of the imaging device. For example, during a boot sequence, a processor generates a signal indicative of a desire to receive a control program from an external device. The imaging device provides the request on a communication output of the imaging device, e.g., the I/O port, at action box 472 . After communicating the request, the imaging device waits to receive a control program on a communication input of the imaging device, e.g., the I/O port, at action box 474 . Image data may be accepted by the imaging device while it waits for the control program.
- a processor generates a signal indicative of a desire to receive a control program from an external device.
- the imaging device provides the request on a communication output of the imaging device, e.g., the I/O port, at action box 472 .
- the imaging device waits to receive a control program on a communication input of the imaging device, e.g., the I/O port, at action box
- a default control program is transferred to the volatile storage media at action box 478 for use by the processor to convert any image data into a printable image.
- the imaging device may provide some indication to a user of the imaging device that a control program could not be found external to the imaging device. For example, the imaging device may provide a message for display to a user of the host device and/or the imaging device may provide a message on a display of the imaging device itself.
- control program received at the communication input is transferred to the volatile storage media at action box 480 for use by the processor to convert any image data into a printable image.
- the methods of the various embodiments are suited to be performed by computer processors in response to instructions in either software, firmware or hardware.
- These computer-readable instructions are stored on a computer-usable medium and are adapted to cause the processor to perform the methods.
- the instructions are hard coded as part of a processor, e.g., an application-specific integrated circuit (ASIC) device, to perform the methods of one or more of the embodiments.
- ASIC application-specific integrated circuit
- the instructions are stored for retrieval by the processor.
- Some additional examples of computer-usable media include static or dynamic random access memory (SRAM or DRAM), read-only memory (ROM), electrically-erasable programmable ROM (EEPROM), magnetic media and optical media, whether permanent or removable.
- the various embodiments are particularly beneficial in networked environments having multiple imaging devices using the same control program.
- upgrading these multiple devices may be accomplished simply by providing the updated control program images to a network server acting as a host device for each of the imaging devices. As each imaging device is initialized, it will look to the host for its control program and automatically receive the updated version without individually updating each imaging device.
- the various embodiments reduce the need for nonvolatile storage media, in that the control programs need not reside on a nonvolatile storage media within the imaging device, the imaging devices may still contain some base level of nonvolatile storage media. For example, it may be desirable to maintain a nonvolatile image of code for use in troubleshooting or for providing other user help information.
- Imaging devices and methods of operating imaging devices have been described that facilitate reducing nonvolatile storage needs of the imaging devices.
- the imaging devices are adapted to request control programs from external devices without the need to maintain a nonvolatile image of a control program within the imaging device.
- Control programs are received on a communication input of the imaging device and stored on a volatile storage media for use by a processor of the imaging device.
- the embodiments can also facilitate more reliable updating within a networked system in that updating an image of a control program on one network device can automatically lead to updating of multiple imaging devices, thus eliminating a need to individually update each imaging device.
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
- Facsimiles In General (AREA)
- Storing Facsimile Image Data (AREA)
Abstract
Description
- The present invention relates generally to imaging devices, and in particular to eliminating the need to maintain a nonvolatile image of a control program on an imaging device.
- Imaging devices are found in a vast number of computer networks and personal computer setups. Imaging devices include printers, facsimile machines (faxes), plotters, multi-function devices and other devices used for producing a tangible image from image data.
- The image data is typically generated by some user application in a device external to the imaging device. An example includes composing a document in a word-processing application of a computer workstation, generating image data in the word-processing application and communicating the image data to a networked or local printer to produce a hard copy of the document.
- For communications efficiency, the image data is generally provided to the imaging device in a compressed form. The compressed form may be simply a compression of raster data, but is more commonly a high-level page description language (PDL) providing information to the imaging device on how to recreate the image. These PDLs are often device-independent languages, i.e., the same image data can be provided to devices of differing types and/or differing manufacturers to produce an end result that is substantially the same. Examples of PDLs include Printer Command Language or PCL (Hewlett-Packard Company, Palo Alto, Calif., USA), PostScript® (Adobe Systems Incorporated, San Jose, Calif., USA) and Interpress (Xerox Corporation, Stamford, Conn., USA).
- To process these PDLs, imaging devices have what is often referred to as a formatter. The formatter has a processor that is responsive to a control program to convert the image data to a printable image. The control program typically provides interpretation of the PDLs, character generation, device emulation, etc. The printable image is typically uncompressed raster or bitmap information that is supplied to another component of the imaging device, often referred to as an engine. The engine controls the mechanical components of the imaging device to produce a tangible output, such as a hardcopy of the printable image.
- The control programs responsible for conversion of the image data are often referred to as formatter firmware or simply firmware. Firmware is computer-readable instructions adapted to cause the processor to perform the conversion methods. These instructions are generally stored on a nonvolatile computer-usable medium. Some examples of nonvolatile computer-usable media include read-only memory (ROM), electrically-erasable programmable ROM (EEPROM or Flash memory), magnetic media and optical media. Because of the cost and access rates of nonvolatile memory in comparison to dynamic random access memory (DRAM; a volatile storage media), the control programs are typically stored on the nonvolatile media in a compressed form, then expanded and transferred to a volatile media for use by the processor. This approach reduces the amount of nonvolatile media that must be installed in the imaging device, thus reducing cost, and increases the access rate of the instructions by the processor, thus improving device performance.
- For the reasons stated above, and for other reasons stated below that will become apparent to those skilled in the art upon reading and understanding the present specification, there is a need in the art for alternative approaches facilitating reduction of the amount of nonvolatile storage media in imaging devices.
- Imaging devices and methods of operating imaging devices are described that facilitate reducing nonvolatile storage needs of the imaging devices. The imaging devices are adapted to request control programs from external devices without the need to maintain a nonvolatile image of a control program within the imaging device. Control programs are received on a communication input of the imaging device and stored on a volatile storage media for use by a processor of the imaging device. The embodiments can also facilitate more reliable updating within a networked system in that updating an image of a control program on one network device can automatically lead to updating of multiple imaging devices, thus eliminating a need to individually update each imaging device.
- For one embodiment, the invention provides an imaging device. The imaging device includes a communication input for receiving image data from an external device and a formatter for converting the image data into a printable image as directed by a control program. The control program is alterable through the communication input of the imaging device. The imaging device further contains no nonvolatile image of the control program.
- For another embodiment, the invention provides an imaging device. The imaging device includes a communication input for receiving image data and other signals from an external device and a communication output. The imaging device further includes a formatter for converting image data into a printable image as directed by a control program, a first computer-usable media for storing the control program, and a second computer-usable media having computer-readable instructions stored thereon capable of causing a processor to perform a method. The method includes providing a signal on the communication output of the imaging device indicative of a desire to transfer a control program from an external device to the communication input of the imaging device and waiting for a control program to be received on the communication input of the imaging device in response to the signal.
- For yet another embodiment, the invention provides a method of operating an imaging device. The method includes generating a request for a control program upon an initialization of the imaging device. The control program is adapted to convert image data received by the imaging device into a printable image. The method further includes providing the request on a communication output of the imaging device and waiting to receive the control program via a communication input of the imaging device.
- For a further embodiment, the invention provides a computer-usable medium having computer-readable instructions stored thereon capable of causing a processor to perform a method. The method includes generating a request, in response to an initialization process, for a control program for converting image data into a printable image. The method further includes providing the request on a communication output of the processor and waiting to receive the control program via a communication input of the processor.
- Further embodiments of the invention include apparatus and methods of varying scope.
- FIG. 1 is a schematic of an imaging device in accordance with an embodiment of the invention.
- FIG. 2 is a schematic of a formatter in accordance with an embodiment of the invention.
- FIG. 3 is a flowchart of a method of operating an imaging device in accordance with an embodiment of the invention.
- FIG. 4 is a flowchart of a method of operating an imaging device in accordance with another embodiment of the invention.
- In the following detailed description of the present embodiments, reference is made to the accompanying drawings that form a part hereof, and in which is shown by way of illustration specific embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention, and it is to be understood that other embodiments may be utilized and that process, electrical or mechanical changes may be made without departing from the scope of the present invention. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is defined only by the appended claims and equivalents thereof.
- Standard operation of an imaging device is to load its control programs during an initialization of the imaging device, such as during a power-up or re-boot of the device. The control programs contain at least those instructions enabling the imaging device to recognize, interpret and convert image date to a printable image, such as those instructions enabling a processor of the formatter to recognize an incoming data stream of page description language (PDL), and to interpret and convert the PDL to a printable image for input to an engine controlling the mechanical aspects of the device.
- Traditionally, these control programs have been stored on the imaging device in a nonvolatile storage media in a compressed form. The most common form of nonvolatile storage media for imaging devices is Flash memory, also referred to as nonvolatile random-access memory (NVRAM). The compressed control programs are then expanded during the initialization and copied or transferred to a volatile storage media such as dynamic random-access memory (DRAM). DRAM is cheaper than NVRAM and DRAM has a higher access rate than NVRAM. However, DRAM requires a periodic refresh, and thus an application of power, to maintain its memory contents. Accordingly, if power is lost to or removed from the imaging device, the control programs residing in DRAM will be lost, but the compressed image of the control programs on the NVRAM will be retained.
- While control programs have been stored on nonvolatile storage media, this does not imply that the control programs are necessarily permanent. Although low-end or older imaging devices may utilize a read-only memory (ROM) that is unalterable by the end user, it is more common for the control programs to be stored on a nonvolatile storage media that is alterable by the end user. This ability is useful for upgrading the control programs, e.g., providing different or additional features, or for correcting the control programs, e.g., providing fixes to known errors within the control programs.
- As an example, NVRAM can be rewritten or reprogrammed to change its memory contents to represent the upgraded control programs. This is typically accomplished by sending a file to the imaging device having a data structure that is recognized by the imaging device's operating system as containing control programs. This file, or firmware upgrade, is typically identified using header information within the file. When the imaging device identifies an incoming data stream as containing a firmware upgrade, the file is processed to replace the control programs currently residing in the NVRAM.
- For the various embodiments, control programs for one or more imaging devices are stored remote from the imaging devices for access during the initialization of the imaging devices. The control programs are communicated to an input of an imaging device during an initialization of the imaging device, permitting bypass, and thus elimination, of nonvolatile storage media devoted to the control programs. The input is preferably an input/output (I/O) port of the imaging device, such as a parallel port, serial port, universal serial bus (USB) port or other such communication port. The I/O port is used by the imaging device for receiving, among other things, image data from a network or local host device.
- FIG. 1 is a schematic of an
imaging device 110 in accordance with an embodiment of the invention. Theimaging device 110 is in communication with ahost device 120 through acommunication interface 130. Theimaging device 110 may be any device for producing a tangible image from image data. Examples include printers, facsimile machines (faxes), plotters and multi-function devices. Thehost device 120 may be a local host device, such as a personal computer or other workstation, providing direct communication between an end user and theimaging device 110. Thehost device 120 may further be a networked host device, such as a network server, acting as an intermediary between an end user and theimaging device 110. - The
imaging device 110 includes a communication port or I/O port 112. The I/O port 112 serves as a communication input for image data and other data, such as configuration data, commands and firmware upgrades, from thehost device 110. The I/O port 112 also serves as a communication output for communicating status information or requests to thehost device 120. - Data streams received at the I/
O port 112 are interpreted by aformatter 114. If the data streams are recognized as image data, such as data describing animage 140, the image data is converted to a printable image for input to anengine 116. Theengine 116 controls operation of amechanical portion 118 of theimaging device 110 to produce atangible image 145 on anoutput 150. - FIG. 2 is a schematic of a
formatter 114 in accordance with an embodiment of the invention. Theformatter 114 includes aprocessor 252 for communication with the I/O port 112 and theengine 116 of animaging device 110. The processor is further in communication with anonvolatile storage media 254 and avolatile storage media 256. Thestorage media processor 252. - The nonvolatile storage media includes a portion of code, or a set of computer-
readable instructions 255. The set of computer-readable instructions 255 facilitate the operating system of theformatter 114. That is, the set of computer-readable instructions 255 enable theprocessor 252 to communicate across the I/O port 112 of theimaging device 110 and to communicate with theengine 116. For one embodiment, the set of computer-readable instructions 255 are capable of causing theprocessor 252 to request and receive a control program from a device external to theimaging device 110, such as ahost device 120. - The request is provided on the I/
O port 112 of theimaging device 110. Theprocessor 252 then looks for incoming data streams on the I/O port 112. Incoming data streams are analyzed by theprocessor 252 to determine whether they are indicative of a file containing a valid control program for theimaging device 110, e.g., as indicated in file header information. When an appropriate file is identified, theprocessor 252 processes the information to store the control program on thevolatile storage media 256 as a portion of code, or a set of computer-readable instructions 257. - For one embodiment, the
nonvolatile storage media 254 includes no computer-readable instructions capable of causing theprocessor 252 to convert image data into a printable image for use by theengine 116, i.e., theimaging device 110 contains no nonvolatile image of a formatter control program. For another embodiment, thenonvolatile storage media 254 contains a default version of a control program capable of causing theprocessor 252 to convert image data into a printable image. Such a default version, however, is preferably unalterable by an end user of theimaging device 110. As an example, the default version of the control program can be stored on a ROM that is programmed as part of a manufacturing process of theimaging device 110. The default version of the control program would be expanded from thenonvolatile storage media 254 and copied to thevolatile storage media 256 for use by theprocessor 252 if no control program is available in response to the request provided at the I/O port 112. For such an embodiment, theimaging device 110 would have a base functionality as provided by the default version of the control program. Additional features or fixes would be available only upon receiving a control program via the I/O port 112 for transfer to thevolatile storage media 256. - FIG. 3 is a flowchart of a method of operating an imaging device in accordance with an embodiment of the invention. At
action box 360, the imaging device generates a request for a control program upon an initialization of the imaging device. For example, during a boot sequence, a processor generates a signal indicative of a desire to receive a control program from an external device. In more detail, the imaging device may request identification of what host device it is connected to. When a host device acknowledges, the imaging device may ask if the host has a control program for the imaging device. If the host device acknowledges that it has an appropriate image of the control program, the imaging device can then request that it be communicated to the imaging device. - The imaging device provides the request on a communication output of the imaging device, e.g., the I/O port, at
action box 362. For one embodiment, the request is provided on the communication output of the imaging device through a communication output of a formatter of the imaging device as provided, e.g., on a communication output of a processor of the formatter. If the imaging device is connected to a local host device, or if a host device acknowledged that a control program was available, the imaging device may direct the request to a specific device. Alternatively, if the imaging device is on a network, and the host device did not acknowledge that a control program was available, the request may be broadcast to other network devices. - After communicating the request, the imaging device waits to receive a control program on a communication input of the imaging device, e.g., the I/O port, at
action box 364. Image data may be accepted by the imaging device while it waits for the control program. However, such image data would be stored on some computer-usable media, such as the volatile storage media or even the nonvolatile storage media of the imaging device, until a control program was available to convert the image data to a printable image. - When a control program, i.e., a data stream having data representative of an image of the control program, arrives at the communication input of the imaging device at
action box 366, the control program is transferred to the volatile storage media for use by the processor to convert any image data into a printable image. Recognizing a data stream as having data representative of a control program need not be different from existing recognition of a firmware upgrade file. However, instead of programming a nonvolatile storage media to contain the compressed image of the control program, a decompressed image is transferred directly to the volatile storage media. - FIG. 4 is a flowchart of a method of operating an imaging device in accordance with another embodiment of the invention. For the embodiment of FIG. 4, the imaging device has an available image of a default control program.
- At
action box 470, the imaging device generates a request for a control program upon an initialization of the imaging device. For example, during a boot sequence, a processor generates a signal indicative of a desire to receive a control program from an external device. The imaging device provides the request on a communication output of the imaging device, e.g., the I/O port, ataction box 472. After communicating the request, the imaging device waits to receive a control program on a communication input of the imaging device, e.g., the I/O port, ataction box 474. Image data may be accepted by the imaging device while it waits for the control program. - If no control program is received within a predetermined timeout period at
decision box 476, a default control program is transferred to the volatile storage media ataction box 478 for use by the processor to convert any image data into a printable image. The imaging device may provide some indication to a user of the imaging device that a control program could not be found external to the imaging device. For example, the imaging device may provide a message for display to a user of the host device and/or the imaging device may provide a message on a display of the imaging device itself. If a control program arrives at the communication input of the imaging device atdecision box 476 prior to an expiration of the timeout period, the control program received at the communication input is transferred to the volatile storage media ataction box 480 for use by the processor to convert any image data into a printable image. - The methods of the various embodiments are suited to be performed by computer processors in response to instructions in either software, firmware or hardware. These computer-readable instructions are stored on a computer-usable medium and are adapted to cause the processor to perform the methods. In a hardware solution, the instructions are hard coded as part of a processor, e.g., an application-specific integrated circuit (ASIC) device, to perform the methods of one or more of the embodiments. In a software or firmware solution, the instructions are stored for retrieval by the processor. Some additional examples of computer-usable media include static or dynamic random access memory (SRAM or DRAM), read-only memory (ROM), electrically-erasable programmable ROM (EEPROM), magnetic media and optical media, whether permanent or removable.
- The various embodiments are particularly beneficial in networked environments having multiple imaging devices using the same control program. In this scenario, upgrading these multiple devices may be accomplished simply by providing the updated control program images to a network server acting as a host device for each of the imaging devices. As each imaging device is initialized, it will look to the host for its control program and automatically receive the updated version without individually updating each imaging device.
- Although the various embodiments reduce the need for nonvolatile storage media, in that the control programs need not reside on a nonvolatile storage media within the imaging device, the imaging devices may still contain some base level of nonvolatile storage media. For example, it may be desirable to maintain a nonvolatile image of code for use in troubleshooting or for providing other user help information.
- Imaging devices and methods of operating imaging devices have been described that facilitate reducing nonvolatile storage needs of the imaging devices. The imaging devices are adapted to request control programs from external devices without the need to maintain a nonvolatile image of a control program within the imaging device. Control programs are received on a communication input of the imaging device and stored on a volatile storage media for use by a processor of the imaging device. The embodiments can also facilitate more reliable updating within a networked system in that updating an image of a control program on one network device can automatically lead to updating of multiple imaging devices, thus eliminating a need to individually update each imaging device.
- Although specific embodiments have been illustrated and described herein, it will be appreciated by those of ordinary skill in the art that any arrangement that is calculated to achieve the same purpose may be substituted for the specific embodiments shown. Many adaptations of the invention will be apparent to those of ordinary skill in the art. Accordingly, this application is intended to cover any such adaptations or variations of the invention. It is manifestly intended that this invention be limited only by the following claims and equivalents thereof.
Claims (31)
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/007,963 US20030086107A1 (en) | 2001-11-02 | 2001-11-02 | Remote firmware upgrade via I/O connection |
DE10249430A DE10249430B4 (en) | 2001-11-02 | 2002-10-23 | Device and method for remote firmware update via I / O connection |
JP2002320838A JP2003208324A (en) | 2001-11-02 | 2002-11-05 | Imaging device |
US11/789,155 US7944574B2 (en) | 2001-11-02 | 2007-04-24 | Remote firmware upgrade via I/O connection |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/007,963 US20030086107A1 (en) | 2001-11-02 | 2001-11-02 | Remote firmware upgrade via I/O connection |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/789,155 Division US7944574B2 (en) | 2001-11-02 | 2007-04-24 | Remote firmware upgrade via I/O connection |
Publications (1)
Publication Number | Publication Date |
---|---|
US20030086107A1 true US20030086107A1 (en) | 2003-05-08 |
Family
ID=21729072
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/007,963 Abandoned US20030086107A1 (en) | 2001-11-02 | 2001-11-02 | Remote firmware upgrade via I/O connection |
US11/789,155 Expired - Fee Related US7944574B2 (en) | 2001-11-02 | 2007-04-24 | Remote firmware upgrade via I/O connection |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/789,155 Expired - Fee Related US7944574B2 (en) | 2001-11-02 | 2007-04-24 | Remote firmware upgrade via I/O connection |
Country Status (3)
Country | Link |
---|---|
US (2) | US20030086107A1 (en) |
JP (1) | JP2003208324A (en) |
DE (1) | DE10249430B4 (en) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030025927A1 (en) * | 2001-08-02 | 2003-02-06 | Hideki Hino | Image processing apparatus, management unit for image forming apparatus, and program executed by image processing apparatus or by management unit for image forming apparatus |
US20030086122A1 (en) * | 2001-11-06 | 2003-05-08 | Parry Travis J. | Imaging device communication via email |
US20030097427A1 (en) * | 2001-11-21 | 2003-05-22 | Parry Travis J. | Multiple device configuration and upgrade for imaging devices |
US20050141025A1 (en) * | 2003-12-26 | 2005-06-30 | Matsushita Electric Industrial Co., Ltd. | Image forming apparatus and updating method |
US20050190383A1 (en) * | 2004-03-01 | 2005-09-01 | Levin Burton L. | Estimating the time to print a document |
US20050223372A1 (en) * | 2004-04-01 | 2005-10-06 | Borchers Gregory E | Methods and systems for firmware download configuration |
US20060136706A1 (en) * | 2004-12-22 | 2006-06-22 | Montgomery Michael S | Product configuration during boot process |
EP1818819A1 (en) | 2006-01-17 | 2007-08-15 | B. Braun Medizintechnologie GmbH | Method for organising the software of a fluid management system |
US7269829B2 (en) | 2004-07-30 | 2007-09-11 | Signature Control Systems, Inc. | Method and system for remote update of microprocessor code for irrigation controllers |
US20080189693A1 (en) * | 2007-02-02 | 2008-08-07 | Rabindra Pathak | Remote firmware management for electronic devices |
US20080243862A1 (en) * | 2007-04-02 | 2008-10-02 | Sharp Laboratories Of America, Inc. | Firmware repository for mfp devices |
US20090187745A1 (en) * | 2008-01-18 | 2009-07-23 | Fujitsu Microelectronics Limited | Information processing system and method of executing firmware |
US20210132934A1 (en) * | 2019-10-31 | 2021-05-06 | Bank Of America Corporation | Cluster deployment |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010015267A (en) * | 2008-07-01 | 2010-01-21 | Canon Inc | Software distribution system, software distribution method, and computer program |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5228118A (en) * | 1991-06-29 | 1993-07-13 | Brother Kogyo Kabushiki Kaisha | Printing system wherein one of printer drivers through which print data is sent from a data processor to a printer is selected based on interpreters available on the printer |
US5321840A (en) * | 1988-05-05 | 1994-06-14 | Transaction Technology, Inc. | Distributed-intelligence computer system including remotely reconfigurable, telephone-type user terminal |
US5502797A (en) * | 1994-10-04 | 1996-03-26 | Lexmark International, Inc. | Apparatus with flash memory control for revision |
US5699091A (en) * | 1994-12-22 | 1997-12-16 | Hewlett-Packard Company | Replaceable part with integral memory for usage, calibration and other data |
US5787288A (en) * | 1993-11-19 | 1998-07-28 | Mita Industrial Co., Ltd. | Method and device for renewing an internal program of an apparatus having communication capability |
US6068359A (en) * | 1994-11-07 | 2000-05-30 | Canon Aptex Inc. | Printer including a formatter and a printing unit without a memory |
US6078967A (en) * | 1998-02-25 | 2000-06-20 | Hewlett-Packard Company | System for upgrading functionality of a peripheral device utilizing a removable ROM having relocatable object code |
US6108100A (en) * | 1998-02-20 | 2000-08-22 | Hewlett-Packard Company | Apparatus and method for end-user performance upgrade |
US6379058B1 (en) * | 2000-03-30 | 2002-04-30 | Zih Corp. | System for RF communication between a host and a portable printer |
US6515759B1 (en) * | 1998-07-08 | 2003-02-04 | Hewlett-Packard Company | Printer having processor with instruction cache and compressed program store |
US6674540B1 (en) * | 1999-05-24 | 2004-01-06 | Hewlett-Packard Development Company, L.P. | Assembling and printing compound documents |
US6745334B1 (en) * | 1998-02-16 | 2004-06-01 | Canon Kabushiki Kaisha | Image forming apparatus and method of controlling same |
US7023566B2 (en) * | 2000-12-12 | 2006-04-04 | Xerox Corporation | Page description language on demand printing |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6734985B1 (en) * | 1998-08-25 | 2004-05-11 | Canon Kabushiki Kaisha | Printing apparatus, printing system and method of controlling same |
JP3451989B2 (en) | 1999-07-14 | 2003-09-29 | ミノルタ株式会社 | Software version control device in printing system |
US6967728B1 (en) * | 1999-07-23 | 2005-11-22 | Electronics For Imaging, Inc. | Reusable and transferable printer driver preference system |
JPWO2001048615A1 (en) * | 1999-12-27 | 2004-01-08 | 富士ゼロックス株式会社 | Printer device, control method, and computer-readable storage medium storing printer control program |
-
2001
- 2001-11-02 US US10/007,963 patent/US20030086107A1/en not_active Abandoned
-
2002
- 2002-10-23 DE DE10249430A patent/DE10249430B4/en not_active Expired - Fee Related
- 2002-11-05 JP JP2002320838A patent/JP2003208324A/en not_active Withdrawn
-
2007
- 2007-04-24 US US11/789,155 patent/US7944574B2/en not_active Expired - Fee Related
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5321840A (en) * | 1988-05-05 | 1994-06-14 | Transaction Technology, Inc. | Distributed-intelligence computer system including remotely reconfigurable, telephone-type user terminal |
US5228118A (en) * | 1991-06-29 | 1993-07-13 | Brother Kogyo Kabushiki Kaisha | Printing system wherein one of printer drivers through which print data is sent from a data processor to a printer is selected based on interpreters available on the printer |
US5787288A (en) * | 1993-11-19 | 1998-07-28 | Mita Industrial Co., Ltd. | Method and device for renewing an internal program of an apparatus having communication capability |
US5502797A (en) * | 1994-10-04 | 1996-03-26 | Lexmark International, Inc. | Apparatus with flash memory control for revision |
US6068359A (en) * | 1994-11-07 | 2000-05-30 | Canon Aptex Inc. | Printer including a formatter and a printing unit without a memory |
US5699091A (en) * | 1994-12-22 | 1997-12-16 | Hewlett-Packard Company | Replaceable part with integral memory for usage, calibration and other data |
US6745334B1 (en) * | 1998-02-16 | 2004-06-01 | Canon Kabushiki Kaisha | Image forming apparatus and method of controlling same |
US6108100A (en) * | 1998-02-20 | 2000-08-22 | Hewlett-Packard Company | Apparatus and method for end-user performance upgrade |
US6078967A (en) * | 1998-02-25 | 2000-06-20 | Hewlett-Packard Company | System for upgrading functionality of a peripheral device utilizing a removable ROM having relocatable object code |
US6515759B1 (en) * | 1998-07-08 | 2003-02-04 | Hewlett-Packard Company | Printer having processor with instruction cache and compressed program store |
US6674540B1 (en) * | 1999-05-24 | 2004-01-06 | Hewlett-Packard Development Company, L.P. | Assembling and printing compound documents |
US6379058B1 (en) * | 2000-03-30 | 2002-04-30 | Zih Corp. | System for RF communication between a host and a portable printer |
US7023566B2 (en) * | 2000-12-12 | 2006-04-04 | Xerox Corporation | Page description language on demand printing |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7312882B2 (en) * | 2001-08-02 | 2007-12-25 | Minolta Co., Ltd. | Image processing apparatus, management unit for image forming apparatus, and program executed by image processing apparatus or by management unit for image forming apparatus |
US20030025927A1 (en) * | 2001-08-02 | 2003-02-06 | Hideki Hino | Image processing apparatus, management unit for image forming apparatus, and program executed by image processing apparatus or by management unit for image forming apparatus |
US20030086122A1 (en) * | 2001-11-06 | 2003-05-08 | Parry Travis J. | Imaging device communication via email |
US20030097427A1 (en) * | 2001-11-21 | 2003-05-22 | Parry Travis J. | Multiple device configuration and upgrade for imaging devices |
US20050141025A1 (en) * | 2003-12-26 | 2005-06-30 | Matsushita Electric Industrial Co., Ltd. | Image forming apparatus and updating method |
US7876469B2 (en) * | 2003-12-26 | 2011-01-25 | Panasonic Corporation | Image forming apparatus and updating method |
US20050190383A1 (en) * | 2004-03-01 | 2005-09-01 | Levin Burton L. | Estimating the time to print a document |
US7602514B2 (en) | 2004-03-01 | 2009-10-13 | Sharp Laboratories Of America, Inc. | Estimating the time to print a document |
US20050223372A1 (en) * | 2004-04-01 | 2005-10-06 | Borchers Gregory E | Methods and systems for firmware download configuration |
US7269829B2 (en) | 2004-07-30 | 2007-09-11 | Signature Control Systems, Inc. | Method and system for remote update of microprocessor code for irrigation controllers |
US20060136706A1 (en) * | 2004-12-22 | 2006-06-22 | Montgomery Michael S | Product configuration during boot process |
EP1818819A1 (en) | 2006-01-17 | 2007-08-15 | B. Braun Medizintechnologie GmbH | Method for organising the software of a fluid management system |
US20080189693A1 (en) * | 2007-02-02 | 2008-08-07 | Rabindra Pathak | Remote firmware management for electronic devices |
US9112891B2 (en) | 2007-02-02 | 2015-08-18 | Sharp Laboratories Of America, Inc. | Remote firmware management for electronic devices |
US20080243862A1 (en) * | 2007-04-02 | 2008-10-02 | Sharp Laboratories Of America, Inc. | Firmware repository for mfp devices |
US8019794B2 (en) | 2007-04-02 | 2011-09-13 | Sharp Laboratories Of America, Inc. | Firmware repository for MFP devices |
US20090187745A1 (en) * | 2008-01-18 | 2009-07-23 | Fujitsu Microelectronics Limited | Information processing system and method of executing firmware |
US8769255B2 (en) | 2008-01-18 | 2014-07-01 | Fujitsu Semiconductor Limited | Information processing system and method of executing firmware |
US20210132934A1 (en) * | 2019-10-31 | 2021-05-06 | Bank Of America Corporation | Cluster deployment |
Also Published As
Publication number | Publication date |
---|---|
DE10249430B4 (en) | 2006-11-23 |
DE10249430A1 (en) | 2003-05-15 |
JP2003208324A (en) | 2003-07-25 |
US7944574B2 (en) | 2011-05-17 |
US20070201075A1 (en) | 2007-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7944574B2 (en) | Remote firmware upgrade via I/O connection | |
US7814480B2 (en) | Control software updating technique for a network apparatus | |
US8339647B2 (en) | Printer formatter in a cable | |
EP0874306A2 (en) | Network printing system | |
US8179538B2 (en) | Image processing apparatus, information processing apparatus and control method | |
US20050168773A1 (en) | Printing system for predicting printing error through preliminary inspection of printer driver and method thereof | |
WO2011137608A1 (en) | Packet based data transfer system and method for host-slave interface | |
US8125671B2 (en) | Image forming apparatus and PDF document direct printing method thereof | |
US9268511B2 (en) | Information distribution processing program, computer, information distribution processing method, and information distribution processing system | |
US6671060B1 (en) | Image forming system and method of operating an image forming system | |
US7099021B2 (en) | Multifunction printer | |
US8213032B2 (en) | Information processing apparatus and method and computer-readable storage medium thereof | |
US20100188692A1 (en) | Printing System, Printing Apparatus, and Printing Method | |
JP2001251525A (en) | Information processor, information processing method and storage medium stored with device drive program | |
JP2005335390A (en) | Lengthening of life span of printer | |
US11068214B2 (en) | Printing computing device for printing PPL jobs having video data and methods for use with a printing system for printing PPL jobs having video data | |
US20090044037A1 (en) | Image processing apparatus and control method thereof | |
JPH10187368A (en) | System for controlling printing and method for controlling printing for the same and storage medium for storing program readable by computer | |
US20060098222A1 (en) | Image forming device | |
KR100509455B1 (en) | Printer and printing method for supporting automatic emulation switching | |
US20040075862A1 (en) | Image forming apparatus and driving method thereof | |
KR100346107B1 (en) | Method for downloading control program in image printing apparatus and control unit of image printing engine therefor | |
KR20000013020A (en) | Picture data processing system of picture formation device | |
JP2006227927A (en) | Printing system, printing processing method, storage medium storing computer-readable program and program | |
JP2004013204A (en) | Print control system and print control method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: HEWLETT-PACKARD COMPANY, COLORADO Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:JOHNSON, STEVEN MARK;BOLDON, JOHN LELAND;REEL/FRAME:012643/0805;SIGNING DATES FROM 20011029 TO 20011030 |
|
AS | Assignment |
Owner name: HEWLETT-PACKARD DEVELOPMENT COMPANY L.P., TEXAS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HEWLETT-PACKARD COMPANY;REEL/FRAME:014061/0492 Effective date: 20030926 Owner name: HEWLETT-PACKARD DEVELOPMENT COMPANY L.P.,TEXAS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HEWLETT-PACKARD COMPANY;REEL/FRAME:014061/0492 Effective date: 20030926 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |