VARIABLE CAM TIMING (VCT) SYSTEM UTILIZING A SET OF VARIABLE STRUCTURE OPTIMAL CONTROL METHODS
REFERENCE TO RELATED APPLICATIONS
This application claims an invention which was disclosed in Provisional Application Number 60/638,651, filed December 22, 2004, entitled "VARIABLE CAM TIMING (VCT) SYSTEM UTILIZING A SET OF VARIABLE STRUCTURE OPTIONAL CONTROL METHODS." The benefit under 35 USC §119(e) of the United States provisional application is hereby claimed, and the aforementioned application is hereby incorporated herein by reference.
FIELD OF THE INVENTION
The invention pertains to the field of variable cam timing systems. More particularly, the invention pertains to a variable cam timing (VCT) systems utilizing a set of variable structure optimal control methods.
BACKGROUND OF THE INVENTION
Variable cam timing (VCT) systems describe a system in which the relative phase between the crankshaft and camshaft of an internal combustion engine are controllable and the engine valve timing is variable with respect to the piston stroke. Engine operation can benefit from variable valve timing in many ways, such as being able to adjust the intake and/or exhaust valve opening and closing with respect to the crankshaft angle as appropriate for various operating conditions. Potential benefits are, for example improved fuel economy, emissions reduction, and/or power enhancement, hi order to take best advantage of these benefits, the VCT phaser should change as quickly as possible in response to engine need or strategy, without compromising system stability.
An example of variable cam timing system with a feedback control system is U.S. Patent No. 5,184,578, which discloses a VCT system having a robust closed loop control employing a dual loop approach with a hydraulic pilot stage and a pulse width modulated (PWM) solenoid.
SUMMARY OF THE INVENTION
A method of controlling VCT system of a phaser having a control valve controlling fluid flow to shift relative angular position of a rotor relative to the housing is disclosed. In a first step, the cam and the crank position are sensed. Next, the spool position of the control valve is sensed. Then, the VCT phase and engine speed are determined based on cam and crank position. Threshold is then calculated as a function of spool position, cam position, and engine speed. Next, a set point target for position is accepted from a control unit. The difference between the set point target and the VCT phase is determined and compared to threshold. When the difference is greater than threshold, a command is sent to a solenoid controlling control valve position to turn on. When the difference is less than the threshold, a command is sent to a solenoid controlling control valve position to turn off.
Hysteresis may also be accounted for and added to threshold when comparing threshold to the difference between set point target and the VCT phase.
The solenoid may be a variable force solenoid, an on/off solenoid, or a differential pressure control system.
BRIEF DESCRIPTION OF THE DRAWING
Fig. 1 shows a schematic of a cam torque actuated phaser in a fixed position (null).
Fig. 2a shows a schematic of a cam torque actuated phaser, while advancing in angular position (advancing phase).
Fig. 2b shows a schematic of a cam torque actuated phaser in which the control valve is blocking advance flow with advancing cam torque present.
Fig. 3 a shows a schematic of a cam torque actuated phaser, while retarding in angular position (retarding phase).
Fig. 3b shows a schematic of a cam torque actuated phaser in which the control valve is blocking retard flow with retarding cam torque present.
Fig. 4 shows state transition logic of the minimum time optimum control algorithm for a case of instantaneous valve positioning.
Fig. 5 shows state transition logic of the minimum time optimum control algorithm for a general case.
Fig. 6 shows a schematic of the control algorithm modified to include hysteresis
(amplitude ±δ).
Fig. 7 shows graphs of a simulated example of a system response to step changes in set point.
Fig. 8 shows graphs with a detailed view of the step response.
Fig. 9 shows a block diagram of the control algorithm of a first embodiment of the present invention.
Fig. 10 shows a flow chart showing the steps of the optimal control method of the present invention.
Fig. 11 shows a block diagram of a second embodiment of a control algorithm of the present invention.
Fig. 12 shows a block diagram of a third embodiment of a control algorithm of the present invention.
Fig. 13 shows a block diagram of a fourth embodiment of a basics observer or estimator.
Fig. 14 shows an abbreviated block diagram of the embodiment in Figure 13.
DESCRIPTION OF THE PREFERRED EMBODIMENT
In the attached drawings corresponding elements are identified by the same reference numerals.
Figures 1 through 3b show a cam torque actuated (CTA) phaser. Torque reversals in the camshaft caused by the forces of opening and closing engine valves tend to move the vanes 106 with respect to the housing 101. The phaser mechanism of the present invention may include one or more diametrically opposed sets of vanes 106 attached to the rotor 107 that separate the advance and retard chambers 108, 110. The advance and retard chambers 108, 110 are arranged to resist positive and negative torque pulses in the camshaft and are alternatively pressurized by the cam torque. The control valve or spool valve 104 allows the vane 106 in the phaser to move, by permitting fluid flow from the advance chamber 108 to the retard chamber 110 or vice versa, depending on the desired direction of movement, as shown in Figures 2a and 3 a.
As shown in the schematic, the spool valve 104 is internally mounted and comprises a sleeve 117 for receiving a spool 109 with lands 109a, 109b, 109c and a biasing spring 105. One of the advantages of locating the hydraulic control inside of the phaser is the decrease in the amount of modification of the engine required. A solenoid (VFS) 103, which is controlled by an electronic control unit (ECU) 102, influences the movement of the spool 109 within the sleeve 117.
While the control valve 104 blocks oil flow from the chambers 108, 110, the vane 106, affixed to the camshaft 126 rotates at the same rate as the housing 101 due to the incompressible nature of the fluid. This holds the VCT phaser at a constant phase angle or null position, as shown in Figure 1. In order to advance or retard the phaser, camshaft torque increases pressure in either the advance chamber or the retard chamber, while simultaneously decreasing pressure in the other. If the spool 109 in valve 104 is positioned to receive flow through passage 112 into the spool center (retard flow) in response to elevated pressure in chamber 108, the fluid will continue to flow through check valve 115 and into chamber 110. The increase in fluid volume 110 and corresponding decrease in volume 108 corresponds to movement of vane 106 in the retard direction (Figure 3a). Similarly, if spool 109 is positioned to receive fluid from passage 113 due to pressurized chamber 110 (advance flow), it will pass through check valve 114 and into chamber 108, advancing vane 106 as shown in Figure 2a. While the control valve 104 is shown to be center mounted, the control valve may also be located remotely.
In the case of a CTA system, the variable-structure nature of a cam torque actuated (CTA) phaser is due to the interaction of the engine's camshaft torque oscillation and the hydraulic control valve. As the cam opens, an engine valve (not shown), there is a tendency to retard the timing while compressing the associated spring. A subsequent torque pulse in the advance direction accompanies the valve closing as the spring expands. The net cam torque repeats periodically, with a frequency that is an integral multiple of the cam speed. The instantaneous cam torque can be determined as a function of cam position and engine speed.
Assuming that oil flow is controlled by a critical or closed-center spool valve 109, with negligible leakage and check valves 114, 115 allow oil into and not out of the high- pressure chambers 108, 110, due to cam torque oscillations, which act as the pump, oil flow is also controlled by the instantaneous direction of the torque. The combinations of these various sets of conditions define five distinct modes:
Table 1 Variants of System Structure Defined as Distinct Modes
The above table shows what is meant by variable structure in the present context. The system is uncontrollable in modes one and four, shown in Figures 2b and 3b respectively. That is, the present state of the torque, due to cam position and speed, and valve position decouples the control input, the solenoid current/force, from the phase output.
To advance the phaser, as shown in Figure 2a, and described by mode 2, the force of the variable force solenoid (VFS) 103 was increased, and the spool 109 was moved to the right in the figure by the VFS, until the force of the spring 105 balances the force of the VFS 103. In the position shown, line 112 is blocked by spool land 109a, and lines 113 and 116 are connected through the spool center. Camshaft torque 161 pressurizes chamber 110, causing fluid in the retard chamber 110 to move into the advance chamber 108, and vane 106 to move in the direction indicated by arrow 160. Fluid from the retard chamber 110 exits the chamber through line 113, which routes the fluid through the spool 109 between lands 109a and 109b and recirculates back to central line 116. The fluid from line 116 travels through open check valve 114 into line 112 and the advance chamber 108. In addition, as stated earlier only cam torsionals 161 are used to move the vane 106. Additional fluid is supplied by the supply through line 118 and check valve 119 to the spool valve 104 for makeup purposes only.
In mode 1, shown in Figure 2b, the control valve 104, more specifically the spool land 109b, blocks the exhaust of fluid from the retard chamber 110 through line 113 and back to the advance chamber 108. Since fluid can not recirculate or exit the retard chamber 110, the vane 106 and the phaser does not move as shown by arrow 160, even though the cam torque energy is positive, shown by arrow 161.
To retard the phaser, as shown in Figure 3 a, and described by mode 3, the force of the VFS 103 was decreased, and the spool 109 was moved to the left in the figure by the spring 105, until the force of the spring 105 balances the force of the VFS 103. hi the position shown, line 113 is blocked by spool land 109b, and lines 112 and 116 are connected. Camshaft torque 162 pressurizes chamber 108, causing fluid in the advance chamber 108 to move into the retard chamber 110, and vane 106 to move in the direction indicated by arrow 160. Fluid from the advance chamber 108 exits the chamber through
line 112, which routes the fluid through the spool 109 between lands 109a and 109b and recirculates back to central line 116. The fluid from line 116 travels through open check valve 115 into line 113 and the retard chamber 110. In addition, as stated earlier only cam torsionals 162 are used to move the vane 106. Additional fluid is supplied by the supply through line 118 and check valve 119 to the spool valve 104 for makeup purposes only.
In mode 4, shown in Figure 3b, the control valve 104, more specifically the spool land 109a, blocks the exhaust of fluid from the advance chamber 108 through line 112 and back to the retard chamber 110. Since fluid can not recirculate or exit the advance chamber 108, the vane 106 and the phaser does not move as shown by arrow 160, even though the cam torque energy is negative, shown by arrow 162.
Figure 1 shows the phaser in null or a central position, described by mode 5, where the spool lands 109a, 109b block lines 112 and 113 and vane 106 is locked into position. Additional fluid is provided to the phaser to makeup for losses due to leakage.
Phase change is available in modes 2 and 3, however, the phase change is available only in their respective directions, shown in Figures 2a and 3a. The dynamic structure of the system is thus distinctly different in each mode. Although the stated assumptions of zero leakage and ideal valves are never completely true in a physical system, the above- defined modes still capture the system structure. That is, non-ideal characteristics affect system behavior within each mode rather than the mode itself.
Note that even though a cam torque actuated (CTA) VCT system is show herein in
Figures 1-3, other types of VCT systems such as torque assist (TA) and oil pressure actuated (OPA) systems are also applicable in the implementation of the present invention.
An on/off solenoid, a differential pressure control system (DPCS) as referred to in US 5,172,659, which is hereby incorporated by reference or a regulated pressure control system (RPCS) as referred to in US Application No. 60161 β Jl \, which is also hereby incorporated by reference, may replace the variable forces solenoid (VFS) shown in the figures.
Control Algorithm Formulation
In order to achieve the quickest movement to a new phase set point, the variable cam timing system should operate in the appropriate choice of modes two and three shown above. Furthermore, the valve opening should be maximized. Finally, in order to avoid overshoot the same control valve port that was maximally opened for fast response should be closed precisely at the moment the set point is reached. For example, to advance the cam the solenoid 103 is fully energized to apply maximum force on the spool 109 to transition the phaser into mode 2 or 4 (i.e. advancing the phaser if the torque is oriented in the advancing direction or preparing for that motion, if not). Motion subsequently commences in the advance direction. At the appropriate moment, the solenoid 103 is fully de-energized so that the compressed spring 105 of the control valve 104 slides the spool 109 to block further advance flow, entering mode 1 or mode 3 according to solenoid/spool dynamics. The precise moment is chosen so that the phaser advances by exactly the desired interval, coming smoothly to rest at the completion of the maneuver.
The solenoid 103 is thus operated at "full on" (maximal current, hence force) or
"full off (zero current). The control method suitable for computer implementation, in part, determines the set of precise moments to switch between these extremes and toggles the output appropriately. The switching instant depends on a combination of the difference between the set point target and the current VCT phase within the VCT controllable range of angles, the time required to return the valve 104 from its instantaneous position to one that blocks flow and the predicted cam torque computed from the instantaneous cam position and engine speed, as discussed above.
For example, in the simplest case, the solenoid 103 and spool valve 104 respond instantaneously. In this ideal case, the switching point is simply the set point. Maximal valve opening, hence VCT actuation rate, is used in the desired direction up, until the instant the target is reached. The valve is then closed immediately and the phaser stays at the target. The control method suitable for computer implementation is pictured in the state chart of Fig. 4.
In a more general case, the time-varying switching threshold is computed as:
Threshold = /(valve position, cam position, engine speed) (0-1)
This function is computed analytically according to system dynamic characteristics, as discussed above. Efficient real-time execution is realized by formulating function results, computed off-line, as a data table for efficient lookup/interpolation. The switching instant is defined as the moment the set point error (set point - phase feedback) crosses this threshold as shown in Figure 5.
However, when the phase reaches the set point, the valve may still be in motion. In fact, according to the above logic the valve will soon open in the direction opposite of that used to reach the set point. The phaser will then begin to move again when the cam torque is appropriately oriented. The control method suitable for computer implementation will quickly respond by reversing the solenoid 103 control in order to pull the valve 104 and phaser back in again. The cycle repeats at a very high frequency in order to hold the phaser at a constant set point.
To avoid this phenomenon, hysteresis is added to the control threshold. That is, the threshold will be raised slightly when approaching from the bottom and lowered slightly when approaching from the top. The effects are to greatly reduce the frequency of steady-state chatter, at the expense of small oscillations in phase. Although the solenoid 103 is still commanded on, and off, the amplitude of phase oscillation is kept within the steady-state error specifications of the system as shown in Figure 6.
Example
Figure 7 shows the system operation for a typical example. The camshaft torque is dominated by the third cam order or 3 times cam speed, as in a DOHC V-6 engine. The torque is biased negative (towards retard) due to friction. By applying the control algorithm modified to include hysteresis as shown in Figure 6, the solenoid 103 is commanded to "on" when the difference between the set point and VCT phase is greater than the algebraic sum of the threshold and the positive hysteresis δ. The solenoid 103 is commanded to "off when the difference between the set point and VCT phase is less than the algebraic sum of the threshold and the negative hysteresis δ. The above may be formulated as follows:
Solenoid On: Set Point - VCT Phase > Threshold + δ (2.1)
Solenoid Off: Set Point - VCT Phase < Threshold - δ (2.2)
These can be restated or reformulated in such a way as to combine the set point and threshold into the following equations:
Solenoid On: ΘVCT < θsmtch - δ , (2.3)
Solenoid Off: θvcτ> θsvή*i*δ , (2.4)
Where:
θ = ΘVCT = VCT Phase
θset = Set Point,
θset - Threshold
With this definition and the above equations, the solenoid 103 switches between off and on (e.g. 0 current and 100% current) when ΘVCT crosses the trip point defined by θswitch ± δ. The spool 109 position follows the solenoid command in accordance with the solenoid 103 and valve dynamics. ΘVCT, in turn, reacts according to the instantaneous system mode, as described in Table 1.
The set point in Fig. 7 changes by step or on a stepwise basis demonstrating the advance and retard responses of the system. Steps toward retard are completed in two torque pulses, regardless of the relative timing between the step change and the onset of retard torque. Steps towards advance, however, require three pulses. Slower movement in the advance direction is typical due to bias in torque towards retard. Figure 8 shows a more detailed view of the VCT phase response between 0.8 to 1.4 seconds, along with the corresponding cam torque, spool position, and solenoid control.
Close examination shows that the solenoid 103 turns on the moment the set point steps from 10° to 50°, but the torque is negative by the time the valve opens to advance 149. The phase doesn't begin to advance until both the valve 149 and torque are in positive
territory, or mode 2. The solenoid 103 remains on and subsequent positive pulses further advance the phase 143. Anticipating the phase angle change potentially available in the pulse, θSwitch drops to a level that will avoid overshoot. The solenoid 103 is commanded off at the end of the third negative-going torque pulse, essentially predicting that the forthcoming positive torque will move the phaser to the set point in the same amount of time it will take to close the flow of fluid through the spool valve 104.
The set point target is reached with small overshoot and the system regulates at the steady-state phase with a small oscillation due to hysteresis, as described above. In this case, the hysteresis is set at δ = 0.5°. The hysteresis level directly determines the oscillation amplitude and is inversely proportional to oscillation frequency.
Microprocessor Implementation
The preferred embodiment of the present invention implements a control method suitable for computer implementation in a microprocessor or microcomputer system. In this method suitable for computer implementation, the inputs are set point, phase, valve position, cam position, and engine speed. The output is the single bit on/off control to the electronic solenoid driver. A block diagram of the computer control algorithm is shown in Figure 9.
Referring to Figure 9, a timer algorithm 130 receives cam sensor pulses 131 and crank sensor pulses 133 input information. The resultant outputs include crank position 135 and cam position 137 values. Crank position is subtracted from cam position by a first summer 134. The result, VCT phase 143, is subtracted from the phase set point 142 by a second summer 136. Another output of timer algorithm 130 is the computed engine speed 141, which along with cam position information 137 and spool position feedback 145 are inputted into function block 132. A function relationship using cam position, engine speed, and valve position as variables determines the resultant functional value, which is a threshold 144. This threshold 144, along with a hysteresis signal, δ 146, are added by a third summer 138. The resultant sum 138, along with the error signal, being the output of the second summer 136, are inputted into a comparing block 140. The output of the comparing block 140 is sent to a solenoid controller 147 which sends a command 148 to a
solenoid 103. The solenoid 103 then influences the position of the spool valve 104 of the phaser through path 149.
The phase set point 142 may be generated locally or by another computer according to the engine control strategy. In the latter, it would be communicated to the VCT processor digitally (e.g., serial, parallel, PWM, etc.). The phase is typically determined by cam and crank angular position sensors as disclosed U.S. Patent no. 5,289,805, which is hereby incorporated herein by reference and microcomputer timers, from which engine speed is also determined. The position of the spool 109 within the spool valve 104 may be acquired by a linear position sensor, such as a linear variable displacement transducer (LVDT) or variable reluctance probe.
Referring back to Figures 9 and 10, a typical microprocessor program execution would proceed as follows, hi a first step 150, the cam position 137 and the crank position 135 are sensed or measured using the cam sensor 131 and the crank sensor 133. Upon the determination of the cam position 137, the cam position is updated each time new information is available. The spool position 145 is sensed or derived. Control valve or spool valve 104 position feedback 145 is determined in the next step 151, using either a sensor or via indirect means, such as a derived value based upon other functional relationships. Engine speed 141 and VCT phase are determined in a third step 152. Engine speed is updated less frequently than valve position, since it is a relatively slower changing quantity. With the above information, and using equation (1.1), the threshold or switching threshold 144 is determined in the next step 153 by a combination of table lookup and simple interpolation. A set point target or phase set point 142 for position of the phaser is received from a control unit in the next step 154. The difference between the set point target and the VCT phase is then calculated 155. The difference between the set point target and the VCT phase is compared to the sum of threshold and hysteresis in the next step 156. Based on the comparison above, a command is sent to a solenoid controlling control valve position according to Equations (2.1)-(2.4).
Some of the benefits of the present invention are that the strictly on-off power drive to the solenoid 24 greatly reduces the complexity of the electronic driver circuit and allows it to operate at high efficiency. If continuous control of the solenoid 24 is used,
either an analog or switch-mode regulator is needed to set the solenoid current level. On- off control simply applies full power or zero power, eliminating the regulator stage. Power loss in the driver transistor is minimized as well for high efficiency applications. Another inherent benefit is dither in the solenoid armature and spool motion. Static friction between these components and their respective bores is typical in hydraulic systems. A widely used countermeasure for the mechanical hysteresis introduced by this phenomenon is solenoid dither. Solenoid dither superimposes a persistent AC waveform on the solenoid command in order to keep the mechanism moving slightly, even when the command is constant. This is accomplished in the present system without any software or electronic overhead due to the tight "steady-state" phase ripple.
It should be noted that the as the algorithm operates, the spool is never commanded to a middle position, the spool is either commanded to a full out position when the cam torque is present, as shown in Figure 3 a or a full in position when the cam torque is present, as shown in Figure 2a.
In a second embodiment, shown in Figure 11, a savings in system cost occurs by eliminating the spool position sensor and allowing less frequent updates in cam position. An observer or Kalman filter predicts internal system behavior with a mathematical model. Corrections are made each time new output data is available. An estimate of the valve position, based on the control command and models of the solenoid 103 and spool mechanism 104, is used to determine the switching threshold in the above method suitable for computer implementation. The estimate is corrected with each new phase measurement, based on the actual phase change and the cam torque. Referring to Figure 11, a timer algorithm 130 receives cam sensor pulses 131 and crank sensor pulses 133 input information. The resultant outputs include crank position 135 and cam position 137 values. Crank position is subtracted from cam position by a first summer 134. The result, VCT phase 143, is subtracted from the phase set point 142 by a second summer 136. Another output of timer algorithm 130 is the computed engine speed 141, which along with cam position information 137 and estimated spool position 203 are inputted into function block 132. A function relationship using cam position, engine speed, and valve position as variables determines the resultant functional value, which is a threshold 144.
This threshold 144, along with a hysteresis signal, δ 146, are added by a third summer 138.
The resultant sum 138, along with the error signal, being the output of the second summer 136, are inputted into a comparing block 140. The output of the comparing block 140 is sent to a solenoid controller 147 which sends a command 148 to a solenoid 103 which outputs the actual spool position 202. The output of the comparing block 140 is also sent to a VCT observer 200, which estimates the spool valve position. The VCT observer 200 uses the output of the comparing block 140 and the measured VCT phase 201 from summer 134 to estimate the spool position 203, which is inputted into the function block 132 and used in determining the resultant function value, threshold 144.
Similarly, if phase measurement is not frequent enough to precisely detect threshold crossings, a rotor model estimates the cam position and times the next switch transition. Again, the estimate is corrected at the next measurement to maintain system integrity and control accuracy, as shown in Figure 12 of the third embodiment. In this case, it is assumed that the cam sensor input data is relatively slow or that the update rate is not fast enough to follow the cam. A first timer algorithm 130a receives slow updated cam sensor pulses 131 resulting in an output of cam position 137. A second timer algorithm 130b receives fast updated crank sensor pulses 133, resulting in an output of crank position 135 and engine speed 141. Crank position 135 is subtracted from cam position by a first summer 134. The result, VCT phase 143, is inputted into a fast update observer 300. The observer 300 is used to reconstruct a fast version of data, facilitating faster overall performance. The outputs of the observer 300 are estimated VCT phase 301 and estimated spool position 203. The estimated VCT phase 301 is subtracted from the phase set point 142 by summer 136. The estimated VCT phase 301 is also added to crank position 305 by summer 304. The resulting output from summer 304 is the estimated cam position 302, which is inputted into function block 132, with the estimated spool position 203 and engine speed 141. A function relationship using the estimated cam position, engine speed, and estimated spool position as variables determines the resultant functional value, which is a threshold 144. This threshold 144, along with a hysteresis signal, δ 146, are added by summer 138. The resultant sum 138, along with the error signal, being the output of summer 136, are inputted into a comparing block 140. The output of the comparing block 140 sends a solenoid command 148 to a solenoid 103. The output of the comparing block 140 is also sent to the observer 300.
Figure 13 shows a block diagram of the observer or predictor used in the control algorithms of Figures 11 and 12. A solenoid command 148 is inputted into a dynamic predictor 400. The dynamic predictor 400 outputs the predicted or estimated spool position 203 and the predicted or estimated VCT phase 301. The estimated VCT phase 301 is then subtracted by a summer 406 from the measured VCT phase 201. The result from the summer 406 is a prediction error 405 which is inputted into block α 401 , which multiplies the predication error by a vector of coefficients to determine the correction factor 404 inputted into the dynamic predictor 400.
Figure 14 shows an abbreviated form of Figure 13. A solenoid command 148 and the measured VCT phase 201 are inputted into a VCT observer 200. The VCT observer 200 outputs the estimated spool position 203 and the VCT phase 301.
The phase set point 142 in any of the above embodiments may be generated locally or by another computer according to the engine control strategy. In the latter, it would be communicated to the VCT processor digitally (e.g., serial, parallel, PWM, etc.). The phase is typically determined by cam and crank angular position sensors as disclosed U.S. Patent no. 5,289,805, which is hereby incorporated herein by reference and microcomputer timers, from which engine speed is also determined. The position of the spool 109 within the spool valve 104 may be acquired by a linear position sensor, such as a linear variable displacement transducer (LVDT) or variable reluctance probe.
One embodiment of the invention is implemented as a program product for use with a computer system such as, for example, the schematics shown in Figs 4-6, and described below. The program(s) of the program product defines functions of the embodiments (including the methods described below with reference to Figs. 9, 10, 11, 12, 13, and 14 and can be contained on a variety of signal-bearing media. Illustrative signal- bearing media include, but are not limited to: (i) information permanently stored on in- circuit programmable devices like PROM, EPROM, etc; (ii) information permanently stored on non-writable storage media {e.g., read-only memory devices within a computer such as CD-ROM disks readable by a CD-ROM drive); (iii) alterable information stored on writable storage media {e.g., floppy disks within a diskette drive or hard-disk drive); (iv) information conveyed to a computer by a communications medium, such as through a
computer or telephone network, including wireless communications, or a vehicle controller of an automobile. Some embodiment specifically includes information downloaded from the Internet and other networks. Such signal-bearing media, when carrying computer-readable instructions that direct the functions of the present invention, represent embodiments of the present invention.
hi general, the routines executed to implement the embodiments of the invention, whether implemented as part of an operating system or a specific application, component, program, module, object, or sequence of instructions may be referred to herein as a "program". The computer program typically is comprised of a multitude of instructions that will be translated by the native computer into a machine-readable format and hence executable instructions. Also, programs are comprised of variables and data structures that either reside locally to the program or are found in memory or on storage devices, hi addition, various programs described hereinafter may be identified based upon the application for which they are implemented in a specific embodiment of the invention. However, it should be appreciated that any particular program nomenclature that follows is used merely for convenience, and thus the invention should not be limited to use solely in any specific application identified and/or implied by such nomenclature.
Accordingly, it is to be understood that the embodiments of the invention herein described are merely illustrative of the application of the principles of the invention. Reference herein to details of the illustrated embodiments are not intended to limit the scope of the claims, which themselves recite those features regarded as essential to the invention.