# Patent

## Title
Machine post-launch configuration and option upgrade

## Abstract

By providing a secure EEPROM (Electrically Erasable Programmable Read Only Memory) device or other non-volatile memory (NVM) as a system operation key (SOK) to control the configurable machine option attributes, various problems associated with machine option configuration and updates may be accommodated. At initial SOK install the identity of the machine is written to the NVM, i.e. the machine serial number. This is performed during the initial machine power up or reboot sequence. As part of the power on or reboot routine the machine will check to ensure no tampering has taken place and that the machine identity and the NVM serial number location data match. A new swapped in SOK can be installed so long as the NVM serial number location has not been previously written to with a conflicting identification number. The machine will then write the serial number to the new SOK thereby protecting it.

## Background
RELATED CASES
Cross reference is made to the following related applications incorporated by reference herein: U.S. patent appplication Ser. No. 10/630,076 entitled “MACHINE POST-LAUNCH CONFIGURATION AND OPTION UPGRADE WITH MASTER KEY” to Robert A. Koontz, James A. Long, and Heiko Rommelmann.
BACKGROUND
The present invention relates generally to the updating of machine options. The invention relates more importantly to the upgrade of printer and copier machine option features and capabilities. The invention relates in particular with regards to a machine controller, controller support memory units, and enabling keys.
In the office-equipment market, such as for printers and copiers, a common business model is to manufacture a single base “platform” in hardware, and then use the software controls over the hardware to provide a set of distinctly different products. In an office multi-function product this may include both software controlled operational upgrades as well as software controlled hardware upgrades. For instance, with reference to digital xerographic “laser printers,” a basic hardware platform capable of outputting 40 pages per minute (ppm) can be slowed down to output pages at 30 ppm or even 20 ppm, purely by altering the control software which operates the identical hardware. Typical techniques for slowing down a basic hardware platform include simply running the various electric motors at slower speeds, or deliberately skipping an operational cycle (not feeding a print sheet, and withholding image data) for one or more of a given number of hardware cycles. The advantages of this business model include the desirability of selling different speed-rated machines at different prices to meet market demands, and also the ability to speed up a slowed-down machine (such as by loading in new software) should an existing customer decide he wants a faster machine. Also, in a re-manufacturing environment, it is useful to be able to minimize the number of hardware configurations that must be processed.
Machines sold, installed, and serviced will typically require either customer interaction or service representative intervention to enable some or all of the possible software and hardware features. This may be carried out either by a service representative at the time of install or on a subsequent service call. In the latter case, it usually requires some sort of password and enablement key. This is typically obtained by the service representative and is then entered into the machine via a GUI or some service tool. Alternatively, customers are required to interact with the manufacturer either over the phone or through the web to get the desired options enabled. As a consequence for either of the above scenarios, there is a burden on the manufacturer's support infrastructure to obtain needed information from the customer and ensure that the customer receives all they are entitled to. Further, the system may also be vulnerable to failure if the machine requires a replacement or upgrade of software and the settings are not carefully kept track of. All of these requirements are complex and add a significant cost to doing business. A further technical challenge in providing office equipment centered upon a single basic hardware platform that may be configured with multiple options, is to provide some security that the option set of a particular machine (such as at a customer site) will not be altered, such as being sped up, in an unauthorized or improper manner.
In U.S. Pat. No. 6,563,600 to Young, the invention described discloses a basic hardware platform of a copier or printer that is selectably enabled to operate at different speeds, such as 40 ppm or 30 ppm, by a combination of entering a password into non-volatile memory within the machine, and also altering a state of a hardware switch within the machine.
In U.S. Pat. No. 4,496,237 to Schron, the invention described discloses a reproduction machine having a non-volatile memory for storing indications of machine consumable usage such as photoreceptor, exposure lamp and developer, and an alphanumeric display for displaying indications of such usage. In operation, a menu of categories of machine components is first scrolled on the alphanumeric display. Scrolling is provided by repetitive actuation of a scrolling switch. Having selected a desired category of components to be monitored by appropriate keyboard entry, the sub-components of the selected category can be scrolled on the display. In this manner, the status of various consumables can be monitored and appropriate instructions displayed for replacement. In another feature, the same information on the alphanumeric display can be remotely transmitted.
In U.S. Pat. No. 4,961,088 to Gilliland et al., there is disclosed a monitor/warranty system for electrostatographic reproducing machines in which replaceable cartridges providing a predetermined number of images are used, each cartridge having an EEPROM programmed with a cartridge identification number that when matched with a cartridge identification number in the machine enables machine operation, a cartridge replacement warning count, and a termination count at which the cartridge is disabled from further use, the EEPROM storing updated counts of the remaining number of images left on the cartridge after each print run.
U.S. Pat. No. 6,351,621 to Richards et al., discloses that in a printer or copier, a removable module, such as a marking material supply module or a marking device module, is provided with a non-volatile memory chip which retains information about the cumulative use of the module and other performance-related data. The non-volatile memory is accessed through a wireless interface, such as an RF loop or IR detector, which is also associated with the module. The memory can be accessed, through wireless means, either by the printer or copier itself or by an external device. The wireless interface can also be used to access a memory which is attached to part which moves within the printer or copier, such as a roller or drum, thus avoiding the use of wire harnesses.
All of the patents indicated above are herein incorporated by reference in their entirety for their teaching.
Therefore, as discussed above, there exists a need for an arrangement and methodology which will solve the problem of providing system option updates and reconfiguration without the need for a field service call. Thus, it would be desirable to solve this and other deficiencies and disadvantages as discussed above with an improved methodology for updating machine options.
The present invention relates to a method for managing machine operation options and configuration. The method comprises providing a software operation key separable from the machine, the software operation key further comprising a memory, with a programmable serial region and an option code. The method further comprises placing the software operation key into the machine, reading the programmable serial region of the memory and if found blank, initializing with a machine identification number, comparing the content of the programmable serial region if not blank with the machine identification number and reading the memory and placing the option code into the machine. The method finally comprises operating the machine in accordance with the option code.
The present invention relates to a printing machine comprising a software operations key separable from the machine. The software operations key having a memory, with the memory having at least an option code region, and a one time programmable serial region. The printing machine also comprises an option code written into the option code region of the memory suitable for directing the printing machine to operate in a particular configuration, and a control system to access the one time programmable serial region of the memory and determine thereby if the option code in the option code region of the software operations key should be used to configure the printing machine.
In particular, the present invention relates to a software operations key for setting the option configuration of a machine and separable from that machine, The software operations key comprising a memory. The memory having at least an option code region, and a one time programmable serial region. The software operations key further comprising an option code written into the option code region of the memory suitable for directing the machine to operate in a particular configuration.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a simplified systems diagram showing essential elements of a digital printing apparatus or multi-function device relative to the present invention.
FIG. 2 further depicts the machine bustle shown in FIG. 1.
FIG. 3 is a flow chart for a methodology incorporating the software option key into the machine boot-up sequence.



DESCRIPTION
By providing a secure EEPROM (Electrically Erasable Programmable Read Only Memory) device or other non-volatile memory (NVM) as a system operation key (SOK) to control the configurable machine option attributes, various problems associated with machine option configuration and updates may be accommodated. Examples of these options may include but are not limited to: device/machine speed; machine stand alone mode, or network connected mode, market segment configuration, scanning enabled; scan to email; scan to Internet Fax; network server Fax enabled; job based accounting; hard disk overwrite; immediate job overwrite; etc. At initial SOK install the identity of the machine is written to the NVM, i.e. the machine serial number. This is performed during initial machine power up or reboot sequence. As part of the power on or reboot routine, the machine will check to ensure no tampering has taken place and that the machine identity and the NVM serial number location data match. Alternatively, to add or remove features or change the machine configuration, a new swapped in SOK can be installed so long as the NVM serial number location has not been previously written to with a conflicting identification number. The machine would then write the serial number to the new SOK, thereby protecting it. Each SOK can enable different options, which will allow different machines to be configured however they need to be. A customer can add options at a later time by receiving a SOK that would enable the desired additional feature or features, and installing it into the machine. The number of SOKs that can be installed is limited by the number of interface sockets provided on the machine.
While the present invention will hereinafter be described in connection with a preferred embodiment thereof, it will be understood that it is not intended to limit the invention to that embodiment. On the contrary, it is intended to cover all alternatives, modifications and equivalents as may be included within the spirit and scope of the invention as defined by the appended claims.
FIG. 1 is a simplified systems diagram showing essential elements of office equipment, such as a digital ink-jet or “laser” printer, relevant to the present invention. The printer 10 (which, for purposes of the claims below, could be a device such as a fax machine; digital or light-lens copier; or part of a multifunction office device) includes what is here called a marker 12, which should generally be considered the set of hardware which operates to place marks on a sheet. As such, the marker 12 could include a xerographic engine, an ink-jet printhead, thermal printer elements, etc. Print sheets drawn from a stack 14 are caused to move through or past marker 12 to receive marks thereon representing an image desired to be printed.
The basic hardware forming marker 12 is in turn controlled by software, which is embodied by a control system generally indicated as 16. As is well known in the art of office equipment, the control 16 includes any number of data-processing hardware circuits combined with suitable software for controlling the marker so as to output desired images. The control 16 can thus include a raster image processor, a facsimile capability, or even means for operating the light-lens hardware in a copier. Also as shown, control 16 can interact with a network connection 18, through which can be received not only image data but control data instructing the printer 10 to operate in a particular manner.
With particular relevance to the present invention, also associated with control 16 are a user interface UI 20, and bustle 200 with a SOK 210 comprising non-volatile memory (NVM) 22. The SOK 210 may be one of any number of memories associated with bustle 200 and control 16, but the significance of the particular SOK 210 and NVM 22 in the invention is that it should include thereon, at a predetermined location in memory that can be found by control 16, specific code data as will be described in detail below. What is important is that, in the course of the operation of machine 10, the control 16 at one point or another reads a certain amount of code data from NVM 22, and based on what is read in the NVM 22, determines in one embodiment whether to operate marker 12 at one selected speed or another speed.
In FIG. 2 there is depicted a perspective view of the bustle 200. Located within bustle 200 is SOK 210. The bustle may also include the controller 16 as well as a power supply or any number of other circuit blocks. In one embodiment within the contemplation of this invention there is but one SOK. However, in this alternative embodiment as depicted here in FIG. 2, there is allowance for as many as three SOKs: possible SOK 210, possible SOK 220, and possible SOK 230. A multiplicity of SOKs allows for a greater number of possible options to be configured. In this embodiment, there is no requirement that any SOK be present since the machine will simply default to some base configuration in the absence of a SOK. An alternative embodiment may require at least one SOK to be present.
SOK 210 is comprised of NVM 22. A SOK may be comprised of additional elements besides memory as for example a power supply, off board drivers, socket hardware, level shifting circuits, interface hardware or circuits etc. In the present example SOK 210 is comprised solely of NVM 22. In one contemplated alternative SOK 22 is embodied as a CRUM (Customer Replaceable Unit Monitor). Here NVM 22 is provided for in the form of an EEPROM (Electrically Erasable Programmable Read Only Memory). The memory 22 is preferably of a non-volatile type of memory such as the EEPROM just mentioned above. However, it will be well understood that there are many different ways to effect non-volatile memory and all those ways are within the contemplation of the present invention. For example, conventional ROM (Read Only Memory) is typically volatile and will lose the data contents of its cells when power is removed. However, if ROM is provided in combination with a long life battery on the SOK and if the ROM is of sufficiently low power dissipation, the combination may for all practical purposes effect a non-volatile memory as far as the useful life of the SOK is concerned.
In FIG. 3, shown is a flow chart for a methodology incorporating the software option key into the machine boot-up sequence. Subsequent to when the power supply is switched on or a reset button is hit, the boot sequence 300 is invoked. First a poll 302 is executed to determine if there are one or more SOKs installed. If the determination 304 is made that there are no SOK present, then the branch condition is to jump to step 306 and continue the normal reboot sequence. If however, a SOK is found resident access step 308 is made of the address location in the SOK containing the identification number. In a new SOK this one-time programmable serial number region is supplied initially blank. Determination 310 is made of whether there is a identification number or not burned into the NVM of the SOK. If no identification number is present the conditional branch 312 is executed and the unique host machine serial number is written into the SOK. Access 314 is subsequently made of the option code(s) in the SOK. However, if a identification number is found determination 316 is made to compare the identification number to the host machine serial number. If there is no match the 318 instruction is invoked the SOK is ignored, a fault will be logged, and the routine branched to step 306 to continue the normal reboot sequence. As will be understood by one skilled in the art, an alternative embodiment may be to flag the presence of the non-matching SOK as an error to the UI 20, or refuse to complete boot-up until the SOK is removed. In the more typically expected event of a match being found access 314 is made of the SOK to find the prescribed option codes. The machine is then set 320 to a configuration as per the just read in option code. With that complete, the reboot sequence 306 may be continued.
The controller 16 may also be provided with code which continually polls for the swapping of a SOK. In an alternative obvious to one skilled in the art, the controller 16 may respond instead to an interrupt from the swapping of a SOK. In either case upon determination of a swapped or new SOK the controller 16 shall poll the SOK and its NVM for indication of option updates or any new system configuration to invoke.
In closing, by employing software option key in combination with a one time programmable serial number region that is initially provided as left in it's original un-programmed state (also referred to as being blank of data), provides management with a minimum of impact to the manufacturing and field service organizations.
While the embodiments disclosed herein are preferred, it will be appreciated from this teaching that various alternative modifications, variations or improvements therein may be made by those skilled in the art. For example, it will be understood by those skilled in the art that the teachings provided herein may be applicable to many types of machines and systems employing controllers and software option keys, including copiers, printers and multifunction scan/print/copy/fax machines or other printing apparatus alone or in combination with computer, fax, local area network and internet connection capability. All such variants are intended to be encompassed by the following claims:

## Claims

1. A method for managing machine operation options and configuration comprising:
providing a software operation key separable from the machine, the software operation key further comprising a memory, with a programmable serial region and an option code;
placing the software operation key into the machine;
reading the programmable serial region of the memory and if found blank, initializing with a machine identification number;
comparing the content of the programmable serial region if not blank with the machine identification number;
reading the memory and placing the option code into the machine; and,
operating the machine in accordance with the option code.

2. The method of claim 1 wherein the machine is a printing apparatus.

3. The method of claim 1 wherein the machine is a multi-function office device.

4. The method of claim 1 wherein the memory is a non-volatile type of memory.

5. The method of claim 1 wherein the software operation key is a CRUM [Customer Replaceable Unit Monitor].

6. The method of claim 1 wherein the machine identification number is the machine serial number.

7. A printing machine comprising:
a software operations key separable from the machine, further comprising a memory, the memory having at least an option code region, and a one time programmable serial region;
an option code written into the option code region of the memory suitable for directing the printing machine to operate in a particular configuration; and,
a control system to access the one time programmable serial region of the memory to find the one time programmable serial region is either intitally blank or as containing an identification number and determine thereby if the option code in the option code region of the software operations key should be used to configure the printing machine.

8. The printing machine of claim 7 wherein the memory is non-volatile memory.

9. The printing machine of claim 8 wherein the non-volatile memory is an EEPROM.

10. The printing machine of claim 8 wherein the non-volatile memory is a CRUM.

11. The printing machine of claim 7 wherein the option code directs the printing machine to configure as a scanner.

12. The printing machine of claim 11 wherein the option code directs the printing machine to configure with a scan to email mode.

13. The printing machine of claim 11 wherein the option code directs the printing machine to configure with a scan to internet fax mode.

14. The printing machine of claim 7 wherein the option code directs the printing machine to configure for faster operation.

15. The printing machine of claim 7 wherein the option code directs the printing machine to configure for job based accounting.

16. A software operations key for setting the option configuration of a machine and separable from that machine, comprising:
a memory, the memory having at least:
an option code region, and
a one time programmable serial region provided as initially blank for writing a machine identifier of that first machine into which the software operations key is installed which may be accessed to find the one time programmable serial region is either blank or as containing an identification number; and,
an option code written into the option code region of the memory suitable for directing the machine to operate in a particular configuration.

17. The software operations key of claim 16 wherein the memory is an EEPROM [Electrically Erasable Programmable Read Only Memory].

18. The software operations key of claim 16 wherein the memory is a CRUM.

19. The software operations key of claim 16 wherein the machine identifier is the machine serial number.