Patent Publication Number: US-2004046814-A1

Title: Method and system for controlling printer temperature

Description:
FIELD OF THE INVENTION  
       [0001] The invention relates to ink jet printers. More particularly, the invention relates to the thermal management of printheads in large format ink jet printers.  
       DESCRIPTION OF THE RELATED ART  
       [0002] Many modern printing devices incorporate thermal ink jet technology. Typically, this technology utilizes a printhead (also known as a pen) having a silicon die supporting one or more vaporization chambers. During a printing operation, resistors or other ink ejection elements on the silicon die are heated to vaporize and eject ink through nozzles overlying the vaporization chambers, thereby causing dots of ink to be printed on a recording medium, e.g., paper.  
       [0003] The printhead typically sweeps across the width of the recording medium during a printing operation, and based upon the image to be printed, certain ink ejection elements are activated (i.e., heated) to eject ink through respective nozzles. By virtue of the heat applied to the ink ejection elements during the printing operation, the temperature of the silicon die, and thus the printhead, rises. Thus, generally speaking, the temperature of the printhead will change or fluctuate during the printing operation. More specifically, the temperature of the printhead will be lower when the printer is printing “light” areas or in a slow mode than when the printer is printing “dense” areas or in a fast mode. As the printhead temperature changes, it is typically preferable that the temperature of the silicon die remains below a peak temperature to avoid delamination in the printhead as a direct result of thermal stress.  
       [0004] In a large format ink jet printer, e.g., HEWLETT-PACKARD HP500, the printheads are typically configured to withstand a substantially large amount of heat, especially when printing heavy density images along a large swath. A swath is typically defined as the area on a print media to be printed upon during a single pass of the printhead, e.g., in a HP500 printer, a swath may be 40 inches in length. A swath may thus typically be defined as a number of dots (i.e., a height of the columns of dots) that a printhead may record during a pass along a print direction. Additionally, a swath may be printed during one or more passes across the same horizontal portion, depending upon the selected print mode. Large format ink jet printers typically control heat energy by balancing the heat energy applied to the printhead as a function of the temperature of a silicon die. However, in some print modes, e.g., a fast mode, a normal mode, and the like, the heat energy control may be insufficient to prevent the printhead from exceeding a peak temperature.  
       [0005] One known solution to prevent undue thermal stress in large format ink jet printers is to change the printmode behavior in response to a forecast of an incoming density per swath. In this respect, the incoming density per swath is compared to a past temperature/density to determine a new maximum print density for the incoming swath. If the predicted incoming density per swath is greater than the newly calculated maximum print density, the incoming swath height is reduced. That is, a number of nozzles located near the top and/or bottom ends of the printhead are not employed during the printing operation, thereby reducing the total number of nozzles employed and thus reducing the heat generated in the printhead.  
       [0006] Although the technique of reducing swath height has been found to be a substantially adequate solution, the technique suffers from several drawbacks and disadvantages. For instance, the technique may impact the print quality of the recorded image because the possibility of banding is increased. Banding is the phenomenon, which may result from an attempt to print one swath next to a second swath without providing an overlap of the swaths, such that a line or band is formed between the adjacent swaths. By virtue of the reduction of swath height, the possibility of non-overlap occurring increases, thereby increasing the potential for banding. Moreover, the above-mentioned technique may require an increased amount of time to record an image on a recording medium.  
       [0007] Additionally, the above-described technique implements a linear model prediction algorithm that predicts the density of a following swath. One drawback associated with most known linear models is that they may provide a prediction of an error condition of a predicted maximum density exceeding a set maximum density, but only within a few number of swaths prior to the error condition. As a result, the typical algorithm may incorrectly predict the error condition. Thus, the typical algorithm may not accurately predict when the error condition will occur. Furthermore, the above-described technique does not take into consideration sections of a swath that require a relatively large amount of ink. Thus, when evaluating the peak temperature of the printheads in printing a swath, although the actual number of ink drops may be evaluated, the above-described technique would be unable to determine whether concentrated areas of ink drops would cause the printheads to exceed a maximum temperature.  
       [0008] Moreover, the above-described technique may affect the throughput of the large format ink jet printer. As discussed hereinabove, because the typical algorithm may be unable to predict when the maximum density is exceeded in a sufficiently timely manner, a printer may cease or temporarily halt until the temperature of the printheads reduces to an acceptable level. As a result, a user may be required to wait a relatively unexpectedly long time for completion of the print operation.  
       [0009] Yet another drawback to the swath height reduction technique lies in the inaccuracy of a prediction that an error condition will be triggered. The linear models implemented by the typical prediction algorithms rely on an average of data across a total length of a swath, which in some cases may exceed forty inches. As a result, the linear model may not take into account local high-density zones in a swath. Accordingly, the swath height reduction technique may fail to accurately predict the triggering error condition.  
       SUMMARY OF INVENTION  
       [0010] In accordance with one aspect, the present invention pertains to a method of managing temperature in a printer. In the method, a file is preprocessed into a plurality of swaths, with each of the swaths being further preprocessed in to a plurality of cells. An estimated peak temperature is calculated for each printhead in printing each of the plurality of cells, and a swath is printed in response to the estimated peak temperature for each printhead in printing each of the cells being below a predetermined maximum temperature. Additionally, a pass of each printhead in printing the swath is divided into a number of sub-passes in response to the estimated peak temperature for each printhead in printing each of the cells being greater than the predetermined maximum temperature.  
       [0011] According to another aspect, the present invention pertains to a system for managing temperature in a printer. The system includes a memory, at least one printhead, and an adaptive thermal print swath servo (“ATPSS”) module to preprocess a file stored in the memory into a plurality of swaths. Each swath is further preprocessed into a plurality of cells, such that, the ATPSS module is further configured to calculate an estimated peak temperature for each printhead in printing each cell and to print said swath with said printhead in response to said estimated peak temperature for each printhead in printing each cell being below a predetermined maximum temperature.  
       [0012] According to yet another aspect, the present invention pertains to a computer readable storage medium on which is embedded one or more computer programs, the one or more computer programs implementing a method for managing temperature in a printer. The one or more computer programs including set of instructions, including, preprocessing a printable file into a plurality of swaths, with each swath being further preprocessed into a plurality of cells. Calculating an estimated peak temperature of at least one printhead in printing each cell and printing the swath in response to the estimated peak temperature for each cell being below a predetermined maximum allowed temperature.  
       [0013] Additional advantages and features of the invention will be set forth in part in the description which follows and in part will become apparent to those skilled in the art upon examination of the following or may be learned by practice of the invention. 
     
    
    
     BRIEF DESCRIPTION OF DRAWINGS  
     [0014] Features and advantages of the present invention will become apparent to those skilled in the art from the following description with reference to the drawings, in which:  
     [0015]FIG. 1 illustrates an exemplary block diagram of a printer in accordance with the principles of the present invention;  
     [0016]FIG. 2 is key to FIGS.  2 A- 2 E; and  
     [0017] FIGS.  2 A-E, together, illustrate exemplary flow diagrams of the ATPSS module shown in FIG. 1 in accordance with the principles of the present invention. 
    
    
     DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS  
     [0018] For simplicity and illustrative purposes, the principles of the present invention are described by referring mainly to an exemplary embodiment thereof. Although the preferred embodiment of the invention may be practiced in large format ink jet printers, one of ordinary skill in the art will readily recognize that the same principles are equally applicable to, and can be implemented in any printing device that utilizes thermal regulation, and that any such variation would be within such modifications that do not depart from the true spirit and scope of the present invention. Moreover, in the following detailed description, references are made to the accompanying drawings, which illustrate specific embodiments in which the present invention may be practiced. Electrical, mechanical, logical and structural changes may be made to the embodiments without departing from the spirit and 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 by the appended claims and their equivalents.  
     [0019] In accordance with the principles of the present invention, a system for providing thermal protection to printheads in a large format ink jet printer is disclosed. The system includes an adaptive thermal print swath servo (“ATPSS”) module. The ATPSS module may be configured to divide a swath (as described hereinabove with respect to the related art) of a print operation into individual cells. That is, prior to performing a print operation of a swath, the ATPSS module may divide the swath into smaller sections called “cells”. As will be discussed in greater detail hereinbelow, the ATPSS is configured to calculate the number of drops of ink required to print each of the cells, to thus determine the temperature impact on the printheads caused by dropping the calculated number of ink drops.  
     [0020] According to one aspect of the present invention, the ATPSS module is further configured to predict a peak temperature of each printhead in printing each cell prior to a printing operation of each swath by evaluating the temperature impact on each printhead by the number of ink drops required for each cell. More specifically, if the peak temperature of any of the printheads are predicted to remain below a predetermined maximum temperature (e.g., as determined by the printhead manufacturer), during the printing operation of each of the cells, the printheads are operated to print the swath in one printing pass. However, if the peak temperature of any of the printheads, during the printing of any of the cells, is predicted to exceed the predetermined maximum temperature, the printing operation of the swath is modified to prevent the printhead from exceeding the predetermined maximum temperature.  
     [0021] For example, when it is predicted that a printhead may exceed a predetermined maximum temperature during the printing of a cell in a swath, the ATPSS module divides an upcoming printing pass of the swath into a series of sub-passes, with each sub-pass maintaining the original printing pass swath height. The total number of ink drops fired from the printhead during the sub-passes are configured to be equivalent to a single pass in printing the swath. More specifically, the upcoming pass to print the swath is decomposed into a series of sub-passes by implementing respective predetermined masks, which subsequently reduce a drop frequency (drops/time) proportionately to the number of sub-passes. In this respect, the predetermined masks divide the upcoming pass into an equivalent number of sub-passes without advancing the recording medium.  
     [0022] Although in a preferred embodiment, the predetermined maximum temperature is approximately 70 degrees Celsius, it should be readily apparent to those having ordinary skill that the predetermined maximum temperature may be defined to be any reasonably suitable temperature. By implementation of the ATPSS module, the life of the printheads may be relatively increased.  
     [0023]FIG. 1 illustrates a block diagram of a printer  100  in accordance with the principles of the present invention. The printer  100 , in the preferred embodiment, is a large format ink jet printer utilizing at least one printhead  110 . Generally speaking, a plurality of printheads may be positioned to hold inks of different colors, such as, yellow, magenta, cyan, and black. Although, for illustrative purposes only, printer  100  is a large format ink jet printer in FIG. 1, it should be understood and readily apparent to those skilled in the art that the ATPSS module disclosed herein may be implemented in any reasonably suitable type of temperature sensitive printer without departing from the scope or spirit of the present invention.  
     [0024] Each printhead  110  may be configured to pass repeatedly across a print (or recording) medium in individual, horizontal swaths to print a selected image (e.g., a picture, text, diagrams, etc.). Each printhead  110  may be further configured to contain multiple ink jet nozzles (not shown), which are each individually fired during a pass to apply an ink pattern onto the print medium.  
     [0025] The printer  100  may be further configured to include interface electronics  120 . The interface electronics  120  may be configured to provide an interface between a controller  130  of the printer  100  and the components for moving each printhead  110 . The interface electronics  120  may include, for example, circuits for moving each printhead  110 , the recording medium, firing individual nozzles, and the like.  
     [0026] The controller  130  may be configured to provide control logic for the printer  100 , which provides the functionality for the printer  100 . The controller  130  may be implemented with a microprocessor, a micro-controller, an application specific integrated circuit, and the like.  
     [0027] The controller  130  may be interfaced with a memory  140  configured to provide storage of a computer software that provides the functionality of the printer  100  and executed by the controller  130 . The memory  140  may be also configured to provide a temporary storage area for data/file received by the printer  100  from a host device, such as a computer, server, workstation, and the like. The memory  140  may be implemented as a combination of volatile and non-volatile memory, such as dynamic random access memory (“RAM”), EEPROM, flash memory, and the like. However, it is within the purview of the present invention that the memory  140  may be included in the host device.  
     [0028] The controller  130  may be further interfaced with a plurality of temperature sensors  150  to detect the temperature of each printhead  110 . The temperature sensors  150  may be configured to provide the printhead temperatures to the controller  130 . The temperature sensors  150  may be implemented with a thermal sense resistor, thermal sensor, or other device capable of measuring a temperature within a reasonable accuracy.  
     [0029] The controller  130  may be further interfaced with an I/O channel  170  configured to provide a communication channel between a host and the printer  100 . The I/O channel may conform to protocols such as RS-232, parallel, small computer system interface, universal serial bus, etc.  
     [0030] The controller  130  may further interfaced with a densitometer  180  configured to estimate an optical density of a reproduced image by scanning, i.e., by counting, the number of pixels in a file stored in the memory  140 . The densitometer  180  may be implemented as a separate module or as a software module as part of the control logic of the controller  130 . In addition, the densitometer  180  may estimate the number of ink drops required to print an image.  
     [0031] The controller  130  may include an ATPSS module  160  as part of the implemented control logic for the printer  100 . The ATPSS module  160  is configured to provide thermal protection for each printhead  110  of printer  100  by dividing a swath into individual cells as discussed hereinabove. The ATPSS module  160  is further configured to predict a peak temperature, T Pest , of each printhead  110  for each cell of a swath. In this respect, if a given printhead in a cell is predicted to exceed the maximum temperature, T max , (e.g., determined by printhead manufacturer, set by a user, or the like) the ATPSS module  160  is configured to divide, in a printing operation, an upcoming pass of the printhead  110  across a print (recording) medium into a series of sub-passes, each sub-pass being configured to maintain an original pass swath height.  
     [0032] The sub-passes are further configured to be an equivalent of the upcoming pass. The upcoming pass is thus decomposed into a series of sub-passes by utilizing a predetermined mask, which subsequently reduces a drop frequency (drops/time) proportionately to the number of sub-passes. The predetermined mask divides the upcoming pass into an equivalent number of sub-passes without advancing the recording medium. Accordingly, the ATPSS module may preserve the life of the printheads by avoiding excessive heat generation in each printhead  110 .  
     [0033] FIGS.  2 A-E, together, illustrate an exemplary flow diagram  200  of the ATPSS module  160  shown in FIG. 1, in accordance with the principles of the present invention. In particular, referring first to FIG. 2A, in step  202 , the controller  130  may be configured to receive a plot (or print) file from a host device, i.e., a computer, internet, etc. The ATPSS module  160  of the controller  130  may be further configured to preprocess the received plot file, in step  204 . The preprocessing of the received plot file may include the step of dividing the plot file into a plurality of swaths by the ATPSS module  160 . Additionally, the preprocessing step may also include the step of dividing each swath into a plurality of cells, i.e., cell( 1 ), cell( 2 ) . . . cell(i). Each cell(i) may be configured to be approximately four (4) inches in length. However, the length of each cell may be varied depending on the type of printer and/or a desired resolution, without deviating from the scope and spirit of the present invention.  
     [0034] The ATPSS module  160  may be further configured, for each printhead  110 , to calculate a Drop Estimate (“DE(cell(i))”) for each cell, i.e., the number of drops of ink required for the printing of the given cell utilizing a densitometer module  180 , in step  206 .  
     [0035] As will be described in greater detail hereinbelow with respect to step  212 , the estimated peak temperatures for each printhead  110  in printing each of the cells is predicted. In calculating the estimated peak temperature for the first cell( 1 ), an initial temperature of each printhead  110  is sensed by respective temperature sensors  150  as indicated in step  208 .  
     [0036] In step  210 , the ATPSS module  160  may be further configured to estimate T Pest  for each printhead  110  in printing each cell(i). The T Pest  may be calculated from equation (1):  
     [0037] for i≧1:  
       T   Pest (cell( i ))= T   init (cell( i ))+( DE (cell( i ))/ K )  (1)  
     [0038] where  
     [0039] T init (cell(i))=T Pest (cell(i−1)) for i&gt;2  
     [0040] T init (cell(i))=T 0  for i=1 (first cell in a given swath)  
     [0041] Where K is determined experimentally and does not equal 0, and T 0  is the measured printhead temperature immediately before printing the swath. Cell(i) may designate a given cell in a swath, DE(cell(i)) may designate the drop estimate for cell(i). The constant, K, is determined experimentally (and always nonzero), and T init  is the initial temperature of the cell(i). Values for the constant, K, are determined experimentally by studying the thermal response to a range of printed densities of each printhead  110 . A value of the constant, K, is chosen for each printhead  110 . This value is constantly updated as printing proceeds along a swath based on the algorithms described by equation (2), recited hereinbelow. The constant, K, is allowed to vary within predetermined limits of K max  and K min  (also specific to each printhead  110 ), which may also be determined experimentally by sampling a population of printheads of the same type.  
     [0042] As illustrated hereinabove, in calculating the estimated peak temperature of the first cell( 1 ), the measured temperature of each printhead  110 , prior to printing of the swath, is employed. In predicting the estimated peak temperature of each printhead  110  in printing the second cell( 2 ), the estimated peak temperature of each printhead  110  in printing the first cell( 1 ) is employed as the initial temperature, T init . Similarly, in calculating the estimated peak temperatures of each printhead  110  in printing each of the remaining cells (cell(i)), the estimated peak temperature of each printhead  110  in printing the previous cell(i−1) is employed as the initial temperature, T init , in equation (1).  
     [0043] Once the estimated peak temperature, T Pest , for each printhead  110  in printing each cell(i) in the swath is calculated, the ATPSS module  160  may be further configured to compare the estimated peak temperature, T Pest , of each cell with a maximum allowed temperature, T max , within which each printhead  110  may operate safely, in step  212 . The maximum allowed temperature, T max , is typically an operational parameter for each type of printhead and may thus be set to optimize the functionality of each printhead.  
     [0044] If the estimated peak temperature, T Pest , is below the maximum allowed temperature for the printhead, T max , for all the cells in the swath, the ATPSS module  160  may be further configured to permit the controller  130  to print the given swath “as is”, in step  214 .  
     [0045] Prior to printing a subsequent swath, the constant K may be re-evaluated to determine whether a new constant K may improve the values obtained in the calculation of the estimated peak temperatures for the printheads in printing the cells of the prior swath. In determining whether a new constant K may be beneficial, and referring to FIG. 2B, in step  216 , the ATPSS module  160  may be further configured to measure and log the initial and final temperatures, T i (cell(i)) and T f cell(i)) of the printheads  110 , respectively, during the printing of each of the cells. The ATPSS module  160  may be further configured to calculate a new constant, K new , in steps  218 - 234 . The new constant, K new , is calculated from equation (2):  
     [0046] for all cells(i) in the printed swath:  
     [0047] compute the maximum temperature delta,  
       T   Diff ( i )= T   f (cell( i ))− T   i (cell( i ));  
       T   Diff =max{ T   Diff ( i )}  (2)  
     [0048] In the calculation of equation (2), for each cell in a swath, the temperatures of the printheads  110  are measured both before (T i (cell(i))) and after (T f (cell(i))) each cell is printed to determine the temperature delta (T diff (i)). The temperature deltas for printing each of the cells(i) are compared to one another to determine a maximum temperature delta as indicated in step  218 . As indicated in the following equation (3), the number of ink drops printed during the printing of each of the cells(i) is also measured. In this respect, the number of ink drops printed for the cell(i) having the maximum temperature delta (T diff (i)) is employed to determine whether a new constant (K new ), as indicated in step  220 , may be beneficial.  
     [0049] with the maximum temperature delta and the number of ink drops printed, determine:  
     If (T Diff &gt;0) and (DropsPrinted&gt;0), then  K   new =DropsPrinted/ T   Diff    
     If (K new ≧K max ), return K max ;  
     If (K new ≦K min ), return (K);  
     Else, return (K new )  (3)  
     [0050] Where K is the constant, K, from equation (1), T f (cell(i)) designates the final measured temperature of the printhead in printing the cell(i); T i (cell(i)) designates the initial temperature of the cell(i) measured in step  216 ; the number of printed drops per cell, “DropsPrinted”, may be further calculated by the ATPSS module  160  or the interface electronics  120 , if properly configured.  
     [0051] In step  222 , if the maximum temperature delta, T Diff , is greater than zero and the “DropsPrinted” is greater than zero, the new constant, K new , is calculated to be the quotient of “DropsPrinted” over the maximum temperature difference, T Diff , in step  224  of FIG. 2C. Otherwise, the ATPSS module  160  is configured to perform step  232 , i.e., maintain K from equation (1) as the constant.  
     [0052] Returning to FIG. 2C, in step  226 , if the new constant, K new , is greater than K max , the ATPSS module  160  is further configured to return K max  as the new constant, K new . Otherwise, in step  230 , if the new constant, K new , is less than K min , the ATPSS module  160  is configured to return the current value of the constant, K, as the new constant, K new , in step  232 .  
     [0053] Otherwise, if new constant, K new , is between K min  and K max , the ATPSS module  160  is configured to return the calculated value of the new constant, K new , from step  224 .  
     [0054] In step  236 , the new constant, K new , is set as the constant, K, for equation (1). The ATPSS module  160  may be further configured to return to step  206  for the next incoming swath.  
     [0055] Returning to step  212  of FIG. 2A, if the estimated peak temperature, T Pest , of each printhead  110  in printing any of the cells(i), is greater than the maximum allowed temperature, T max , the ATPSS module  160  may be further configured to divide the pass of the swath into a series of sub-passes, as illustrated in steps  238 - 246  of FIG. 2D. The number of sub-passes utilized to print the swath may be calculated in an iterative manner based upon the estimated number of ink drops required to print a given cell (or drop estimate), DE(cell(i)) and a density divisor, N. In step  238 , the density divisor may be initialized to 1, i.e., for a single pass in printing the swath. The ATPSS module  160  is further configured to calculate the estimated peak temperature, T Pest  of each cell(i), by equation (4): T Pest (cell(i))=T init (cell(i))+DE(cell(i))/N, in step  240 . Alternatively, equation (4) may be applied to the cell(i) that yielded the estimated printhead temperature that exceeded the predetermined maximum temperature. In either event, subsequently, the estimated peak temperature is compared to the allowed maximum temperature, T max , in step  242 .  
     [0056] If the estimated peak temperature, T Pest , for each printhead  110  in printing a cell(i) exceeds the maximum allowed temperature, T max , the ATPSS module  160  is further configured to increment the density divisor by one in step  244 . The ATPSS module  160  then returns to step  242  to determine whether the estimated peak temperature, T Pest , is greater than the maximum allowed temperature.  
     [0057] If the estimated peak temperature, T Pest , is less than the maximum allowed temperature, T max , the ATPSS module  160  is further configured to divide the pass of the given swath into a number of sub-passes equivalent to the density divisor, in step  246 . Each sub-pass may be implemented by applying a respective submask. The sub-passes superimpose one another in a substantially exact manner with the same swath height as the original swath height. The sum of all the sub-passes is equal to the drop count for printing the swath in one pass. Otherwise, the ATPSS module  160  is configured to return to step  244  for the density divisor to be incremented by one.  
     [0058] Referring to FIG. 2E, in step  248 , the ATPSS module  160  may be further configured to print each sub-pass to full resolution. According to one aspect of the present invention, each sub-passes maintains the same swath height as the original pass. At the conclusion of the sub-passes, the ATPSS module  160  may be further configured to employ the temperatures measured and logged in step  250 , while simultaneously printing to calculate (step  252 ) a new constant, K new , using equation (2) as described herein above with respect to steps  218 - 234 . In this regard, the conditions set forth hereinabove with respect to steps  218 - 234  generally dictate whether a new constant may be beneficial in equation (1). Thus, if those conditions are satisfied, then, in step  254 , the new constant, K new , is set as the constant, K, in equation (1) as described in step  236 . The ATPSS module  160  is configured to return to step  206  for printing the next swath.  
     [0059] According to the principles of the present invention, the calculation of peak temperatures for each cell in a swath provides for a more accurate determination of whether the printheads of a printer may exceed a maximum operating temperature than is currently available. In this respect, the actual number of ink drops may be estimated for each cell, thus, even in the situation that a swath as a whole requires less ink drops than would typically cause the printheads to exceed a maximum temperature, if certain portions of the swath require ink drops that would cause the printheads to exceed the maximum temperature, the swath may be printed in sub-passes, to thus prevent the printheads from overheating. Thus, the present invention does not suffer from the drawbacks and disadvantages associated with known techniques for controlling the temperature of printheads.  
     [0060] The present invention may be performed as a computer program. The computer program may exist in a variety of forms both active and inactive. For example, the computer program can exist as software program(s) comprised of program instructions in source code, object code, executable code or other formats; firmware program(s); or hardware description language (HDL) files. Any of the above can be embodied on a computer readable medium, which include storage devices and signals, in compressed or uncompressed form. Exemplary computer readable storage devices include conventional computer system RAM (random access memory), ROM (read-only memory), EPROM (erasable, programmable ROM), EEPROM (electrically erasable, programmable ROM), and magnetic or optical disks or tapes. Exemplary computer readable signals, whether modulated using a carrier or not, are signals that a computer system hosting or running the present invention can be configured to access, including signals downloaded through the Internet or other networks. Concrete examples of the foregoing include distribution of executable software program(s) of the computer program on a CD ROM or via Internet download. In a sense, the Internet itself, as an abstract entity, is a computer readable medium. The same is true of computer networks in general.  
     [0061] While the invention has been described with reference to the exemplary embodiments thereof, those skilled in the art will be able to make various modifications to the described embodiments of the invention without departing from the true spirit and scope of the invention. The terms and descriptions used herein are set forth by way of illustration only and are not meant as limitations. In particular, although the method of the present invention has been described by examples, the steps of the method may be performed in a different order than illustrated or simultaneously. Those skilled in the art will recognize that these and other variations are possible within the spirit and scope of the invention as defined in the following claims and their equivalents.