The invention relates generally to turbine control systems, and more particularly relates to providing methods and systems for providing real-time comparison with an alternate control strategy for a turbine.
Industrial and power generation turbines have control systems (“controllers”) that monitor and control their operation. These controllers govern the combustion system of the turbine and other operational aspects of the turbine. The controller may execute scheduling algorithms that adjust the fuel flow, inlet guide vanes (IGV) and other control inputs to ensure safe and efficient operation of the turbine.
Turbine controllers may receive input values of measured operating parameters and desired operating settings, that in conjunction with scheduling algorithms, determine settings for control parameters to achieve the desired operation. The values prescribed by the scheduling algorithms for the control parameters may cause the turbine to operate at a desired state, such as at a desired power output level and within defined emission limits. The scheduling algorithms incorporate assumptions regarding the turbine, such as that it is operating at a certain efficiency, with a certain flow capacity and at other assumed conditions.
As the turbine operates for an extended period, component efficiencies tend to degrade, and flow capacities and other operating conditions may vary from the assumed conditions. Because of this deterioration, the control scheduling algorithms may become increasingly out of tune and cause the turbine to operate at states that increasingly diverge from the desired operational state.
In response, turbine control systems have been developed that employ adaptive turbine models to estimate certain operating parameters of an operating turbine. The models may estimate operational parameters that are not directly sensed (or measured) by sensors for use in control algorithms. The models may also estimate operational parameters that are measured so that the estimated and measured conditions can be compared. The comparison may be used to automatically tune the model while the turbine continues to operate.
Accordingly, a turbine controlled by an adaptive turbine model may experience operational efficiencies by utilizing a model that is automatically tuned to the actual operating conditions of the turbine, thus allowing the control of the turbine to directly reflect the state of the turbine and operate efficiently and/or to its maximum thresholds. These operational efficiencies may produce significant benefits over the turbine operating under or based on the legacy control system, though it may be difficult to quantify the benefits realized without a means to compare the turbine operating based on the new control system including an adaptive turbine model to the turbine, in its present state, as it would be operating based on a legacy control system.
Furthermore, an adaptive turbine model, because of its ability to be tuned real-time, or in near-real-time, to reflect the operational state, and because of the flexibility it provides for controlling the turbine, may be useful to predict the turbine operation under operating conditions and control strategies and strategies different than those that exist for the turbine. Doing so may allow for determining an alternate control strategy.
However, to accomplish analyzing the turbine based on an alternate control strategy, while the turbine is in operation based on another control strategy, for example an upgraded control system, or an actual control strategy given the desired goals, ambient conditions, or system status, current control systems utilizing a single turbine model may not be used because the model is responsive to the control parameters and/or control outputs of actual operation of the turbine.
Thus, there exists a need for a control system including an alternate adaptive model that is tuned to the operating conditions and status of the turbine but where the alternate control system may be analyzed based on a control strategy different than that used for actual turbine control.
Further, there is a need for methods and systems for providing real-time comparison with an alternate control strategy for a turbine.
Embodiments of the invention can address some or all of the needs described above. Embodiments of the invention are directed generally to methods and systems for providing real-time comparison with an alternate control strategy for a turbine. The methods and systems may include an alternate adaptive turbine model that allows quantifying operational differences of the an actual turbine, comparing the turbine operating based on the actual (or primary) control strategy to the turbine modeled as if it were operating based on an alternate control strategy. Additionally, these the methods and systems herein may provide for adjusting the actual turbine control based at least in part on an analysis of the alternate adaptive turbine model modeling operation based on the alternate control strategy.
According to one example embodiment of the invention, a method for controlling and modeling a turbine is provided. The method may include modeling the turbine by a primary adaptive turbine model that includes at least one primary operating parameter and modeling the turbine by an alternate adaptive turbine model that includes at least one alternate operating parameter. The method may also include determining a first output value from the primary adaptive turbine model that corresponds at least in part to the operation of the turbine based on a primary control strategy and adjusting the alternate operating parameter or parameters based on an alternate control strategy and based at least in part on the first output value. The method may further include determining comparison data based at least in part on a comparison between the primary control strategy and the alternate control strategy.
According to another example embodiment of the invention, a turbine control and modeling system is provided. The system may include a primary adaptive turbine model operable to model the operation of a turbine. The primary adaptive turbine model may include at least one primary operating parameter. The system may further include an alternate adaptive turbine model operable to model the operation of the same turbine. The alternate adaptive turbine model may include at least one alternate operating parameter. The system described may be operable to determine a first output value from the primary adaptive turbine model associated at least in part with the operation of the turbine and to adjust the one or more alternate operating parameters based on an alternate control strategy and based at least in part on the first output value. The system described may also be operable to determine comparison data based at least in part on a comparison between the primary control strategy and an alternate control strategy.
According to yet another example embodiment of the invention, a method for controlling and modeling a turbine is provided. The method may include modeling the turbine using a primary adaptive turbine model that includes at least one primary operating parameter and modeling the turbine using an alternate adaptive turbine model that includes at least one alternate operating parameter. The method may further include tuning the primary adaptive turbine model and the alternate adaptive turbine model. In the method, when the turbine is operating at part load based on a primary control strategy, the alternate operating parameter or parameters may be adjusted to determine an alternate power output based on an alternate control strategy that is substantially equal to the turbine power output. The primary operating parameter or parameters may be compared to the at least one alternate operating parameter. In the method, when the turbine is operating at base load based on the primary control strategy, the alternate operating parameter or parameters may be adjusted to determine an alternate maximum power output based on the alternate control strategy. The maximum turbine power output associated with the turbine may be compared to the alternate maximum power output.
Other embodiments and aspects of the invention will become apparent from the following description taken in conjunction with the following drawings.
Example embodiments of the invention now will be described more fully hereinafter with reference to the accompanying drawings, in which some, but not all embodiments are shown. Indeed, the invention may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will satisfy applicable legal requirements. Like numbers refer to like elements throughout.
According to an example embodiment of the invention, a turbine control system may include a first adaptive turbine model, for example, a primary adaptive turbine model or an actual adaptive turbine model, and a second adaptive turbine model, for example, an alternate adaptive turbine model. The alternate adaptive turbine model may be a second instantiation of the first adaptive turbine model, both of which are tuned to mathematically model the same turbine to which they are associated. As a part of this mathematical modeling, the adaptive turbine models may receive as model inputs the real time operating status and real time operating parameters of the turbine, as well as estimate operating parameters that may not be directly sensed, so as to substantially reflect the actual state of the turbine in real time or near-real time.
A description of the adaptive turbine model, which may be used to generally describe the first, or primary, adaptive turbine model and the second, or alternate, adaptive turbine model, is provided. The adaptive turbine model can receive measured conditions as model input parameters, for example, but not limited to, the ambient pressure, the compressor inlet guide vane position, the fuel flow, the inlet bleed heat flow, the generator power losses, the inlet and exhaust duct pressure losses, and the compressor inlet temperature. The adaptive turbine model can determine estimated operating parameters, for example, but not limited to, the exhaust gas temperature, the compressor discharge pressure and temperature, and the power output. The estimated operating parameters, which may also be referred to as model outputs, may be used in conjunction with the measured operating parameters to determine appropriate control actions. For example, the measured and estimated operating parameters (collectively, the model outputs) may be input to control schedules to determine the gas turbine operating state, such as, but not limited to, the desired turbine exhaust temperature, the total combustor fuel flow, the fuel split schedules, and the inlet bleed heat flow. In addition, the model outputs may be used to evaluate the accuracy of the model and to tune the model.
The gas turbine model may be regularly, automatically, in real-time, and/or in near-real-time tuned using a Kalman filter. The Kalman filter may receive, as inputs, signals indicating the differences between measured gas turbine parameters from various sensors and the estimated parameters output from the model. The Kalman filter also may receive as input the Kalman filter gain matrix (KFGM), which is an array of numbers representing the uncertainty weighted sensitivity of model estimated parameters to changes in model performance multipliers. The Kalman filter may use the supplied inputs to determine or otherwise generate performance multipliers that are applied to tune the model and increase the accuracy of the estimated gas turbine parameters.
The KFGM may be calculated by an array of mathematical equations. These equations can receive as inputs a model sensitivity matrix (MSM) and estimates of the model and measurement uncertainty. The MSM may be calculated on-line in real-time, or near-real-time, by perturbation and evaluation of the adaptive turbine model. The Kalman filter optimizes the multiplier values to minimize the differences between the estimated and measured operating parameters.
The adaptive turbine model may be adaptive to changing efficiencies, flow capacities, and other parameters of the actual turbine. The output performance multipliers determined by the Kalman filter adapt the model to better match the measured parameters of the turbine. The Kalman filter may tune the model to, for example, account for deterioration of component efficiencies and changes in air-flow capacities of the turbine that occur during extended operation.
Since the MSM and KFGM may be calculated on-line and in real-time, or near-real-time, the Kalman filter structure is able to adapt to changes in the number of available sensors and type of measured output parameters available to compare to the estimated output parameters of the model. When an operating parameter of the turbine is no longer being measured, such as due to a sensor failure, the Kalman filter structure may be modified to account for the loss of the measured parameter, and may continue to determine performance multipliers based on the remaining measured conditions of the turbine.
In an embodiment of the invention, the control system may include at least two adaptive turbine models. Each model can be configured so as to be identical models of the same turbine and to be contemporaneously and consistently tuned as described herein. While the first adaptive turbine model may be used to generate control actions to control the turbine, the second adaptive turbine model may be used to analyze turbine control based on an alternate control strategy. Analyzing the turbine control based on an alternate control strategy may be performed, for example, to compare current turbine control and efficiencies when controlled by a current, upgraded control system as compared to a legacy control system, whereas the legacy control system may serve as the alternate control strategy to which the second, alternate adaptive model may be controlled.
The operation of the example turbine 10 may be monitored by one or more sensors 26 detecting one or more observable conditions, or operating parameters, of the turbine 10, the generator 24, and the ambient environment. In many instances, two or three redundant sensors may measure the same measured condition. For example, groups of three redundant temperature sensors 26 may monitor ambient temperature surrounding the turbine, the compressor discharge temperature, the turbine exhaust gas temperature, and other temperature measurements through the turbine. Similarly, groups of three redundant pressure sensors 26 may monitor the ambient pressure, and the static and dynamic pressure levels at the compressor inlet and outlet, at the turbine exhaust, at other locations through the turbine. Groups of three redundant humidity sensors 26, for example, wet and dry bulb thermometers, measure ambient humidity in the inlet duct of the compressor. Groups of three redundant sensors 26 may also comprise flow sensors, speed sensors, flame detector sensors, valve position sensors, guide vane angle sensors, or the like that sense various parameters pertinent to the operation of turbine 10.
As used herein, “parameters” (or “operating parameters”) refer to items that can be used to define the operating conditions of the turbine, such as, but not limited to, temperatures, pressures, and gas flows at defined locations in the turbine. Some parameters are measured they are capable of being sensed and may be directly known. Other parameters are estimated by the adaptive turbine models and are indirectly known. The measured and estimated parameters may be used to represent a given turbine operating state.
A fuel control system 28 may regulate the fuel flowing from a fuel supply to the combustor 14. The fuel controller may also select the type of fuel for the combustor 14. The fuel control system 28 may be a separate unit or may be a component of the main controller 18.
The controller 18 may be a computer system having one or more processor that execute programs to control the operation of the turbine. The control may depend on, for example, sensor inputs or instructions from human operators. The programs executed by the controller 18 may include, for example, scheduling algorithms, such as those for regulating fuel flow to the combustor 14. The commands generated by the controller 18 can cause actuators on the turbine to, for example, adjust valves via an actuator 27 between the fuel supply and combustors that regulate the flow, fuel splits and type of fuel flowing to the combustors, adjust inlet guide vanes 21 on the compressor via an actuator 29, or activate other control settings on the turbine.
The scheduling algorithms can enable the controller 18 to maintain, for example, the nitrogen oxide (NOx) and carbon monoxide (CO) emissions in the turbine exhaust to within certain predefined emission limits, and to maintain the combustor firing temperature to within predefined temperature limits. The scheduling algorithms may have inputs for parameter variables such as, but not limited to: current compressor pressure ratio, ambient specific humidity, inlet pressure loss, and turbine exhaust back pressure. The control system 18 applies the algorithms to schedule the gas turbine, for example, to set desired turbine exhaust temperatures and combustor fuel splits, so as to satisfy performance objectives while complying with operability boundaries of the turbine. In one example embodiment, the scheduling algorithms may be defined by operational boundaries that employ physics based models or transfer functions that provide boundary control causing the turbine to operate in its optimum state, minimizing the deviation from the boundary levels.
The term “fundamental” does not imply that each and every one these measured parameters must be input to the particular embodiment of the adaptive turbine model 30 disclosed herein or that any such adaptive turbine model must have these parameters or inputs. The fundamental inputs 32 to an adaptive turbine model 30 may include some, all, and/or other parameters or inputs. The term “fundamental” merely indicates that for the particular model disclosed herein these inputs are taken from measurements of actual conditions and are applied as inputs to the model.
The fundamental inputs 32 may be applied as inputs to the adaptive turbine model 30 of the turbine 10. These inputs are applied as model inputs to the adaptive turbine model 30 to determine output values (referenced in
The primary modeled outputs 38 and their corresponding measured operating parameters 44 are applied to an error correction system 47 that may automatically and regularly tune the adaptive turbine model 30 so that the primary modeled outputs 38 and extended modeled outputs 40 may substantially predict operating conditions of the turbine 10. The primary and extended modeled outputs 38, 40 may be used for controlling the turbine, scheduling maintenance, or predicting the performance of the turbine. Furthermore, the fundamental inputs 32, the primary modeled outputs 38, and/or the extended modeled outputs 40 may be used in an alternate adaptive turbine model to determine operational improvements or alternate operating parameters for the turbine 10 running based on an alternate control strategy.
The primary modeled outputs 38 of the model may be, for example, but not limited to: modeled power output (referenced in
The primary modeled outputs 38 each correspond to the measured operating parameters (referenced in
Each adaptive turbine model 30 may be a computer generated model of the turbine 10. The adaptive turbine model 30 may be an arrangement of mathematical representations of the primary and extended model outputs, 38, 40. Each of these representations rely on the model input values, for example, the fundamental inputs 32, to determine an estimated value of a model output parameter 38, 40. The mathematical representations act as surrogate parameter values that may be used in circumstances where an measured parameter value is not available. The adaptive turbine models 30 may be physics-based aero-thermodynamic computer models, regression-fit models, neural-network models, or other suitable computer models of a turbine.
The primary modeled outputs 38 are compared to the corresponding measured operating parameter values 44. These measured operating parameters 44 may be referred to as tuning inputs because they may be used to tune the model. The primary modeled outputs 38 and measured operating parameter values 44 are normalized, as shown at blocks 46, to determine normalized modeled outputs (referenced in
A Kalman filter gain matrix, or KFGM, (referenced in
The Kalman filter gain matrix 52 may determine one or more tuning factors that are applied to the difference signals 50 to determine normalized correction factor adjustments. The normalized correction factors are summed, as shown at block 56, with the prior normalized correction factor, shown as occurring at block 58, to average out the differences between the current and prior correction factors. The averaged correction factor is un-normalized, as shown at block 62, to produce performance multipliers 64 (also un-normalized correction factors) that may include, for example, but not limited to, component efficiencies and flow capacities. The un-normalized correction factors 64 are then applied to the adaptive turbine model 30 as, for example, multipliers, that are applied to the algorithms that model the turbine 10 and determine the modeled output parameter values 38, 40. The multipliers tune the adaptive turbine model 30 by adjusting the algorithms so that they determine modeled parameter values that accurately represent the actual operation of the turbine. The modeled output values 38, 40 may be applied to determine fuel and air flow to the gas turbine and to determine other control inputs to the gas turbine, or to the gas turbine as it would operate based on an alternate control strategy in the case of the alternate adaptive turbine model 30.
The loss of difference signals 50 may reduce (though may not eliminate) the ability of the Kalman filter gain matrix to tune the adaptive turbine model 30. The adaptive ability of the Kalman filter gain matrix 52 enables it to continue to tune the adaptive turbine model 30 with a reduced set of difference signals 50. To automatically tune the model when one or more of the difference signals is not available, the Kalman filter gain matrix 52 may be modified to account for the loss of a difference signal 50. Accordingly, the turbine can continue to operate and be automatically tuned even when sensors fail and tuning input data regarding observable operating conditions is not available.
In one example application, the alternate adaptive turbine model 320 applies an alternate control strategy that reflects a different control system configuration than the control system configuration that is currently used to control the actual turbine. For example, the alternate adaptive turbine model 320 may apply the control strategy as was applied based on a legacy control system for the same turbine, prior to the turbine's control strategy being upgraded. Thus, in this example, while the primary adaptive turbine model 310 controls the turbine based on a new, current control strategy after a control system upgrade, the alternate adaptive turbine model 320 allows modeling how the turbine, in its current operating state, would behave based on the previous, legacy control system. In this manner, one may identify the differences between operating behavior of the legacy control system versus the new control system, including its input parameters and its power output, in real-time. For example, when running the turbine at part load, the alternate adaptive turbine model 320 can be adjusted until it models the turbine operating based on the legacy control strategy, producing the same power output. This, for example, can allow identifying the efficiency gains achieved by controlling the turbine based on the new control system as compared to the legacy control system. In another example, when running the turbine at base load and achieving maximum power output, the alternate adaptive turbine model 320 can model what the maximum power output based on the legacy control strategy would have been. Thus, a comparison can be made between the maximum power output capacities of the turbine based on the new control system and the legacy control system. Identifying these operation gains in real-time, or near-real-time, based on the actual, degraded state of the turbine may be beneficial to turbine operators and/or owners that are attempting to identify the likely efficiency gains of upgrading one or more turbines, based on an already upgraded turbine. The operation of the controller having an alternate adaptive turbine model 320 as used in this example embodiment is described more fully below.
In another example embodiment, the turbine controller having an alternate adaptive turbine model 320 may be used to determine where the previous, or legacy, control system would have placed the effectors that control the turbine, or the set limits or constraints placed on the turbine, given the current operating state of the turbine. Knowing the constraints based on the legacy control system allows identifying and setting limits on adjustments based on a known, proven control strategy (as run in the legacy control system). This may be beneficial during the implementation and testing of a new control strategy by providing a comfort zone related to the limits of the turbine based on the previous control strategy, so as to avoid extreme operation or failure of the turbine during testing and implementation.
Further in reference to
The alternate model outputs 350 of the alternate adaptive turbine model 320, which may be, for example, power output, exhaust temperature, or the like, as is further described in detail in reference to
One or more of the parameters modeled by the alternate adaptive turbine model 320 may be compared to one or more of the parameters of the actual turbine or one or more parameters modeled by the primary adaptive turbine model at the comparator function or functions 380. The comparator function or functions 380 may determine comparison data, for example, an output associated with fuel savings or power difference, such as percent fuel savings or percent power difference, for display to the user, or for writing to a memory on or associated with the controller or with some other computer-based device associated with turbine control.
Block 450 follows block 440, in which the comparison data is determined, which may illustrate, for example, the savings in fuel when operating the turbine based on the primary (or new/upgraded) control strategy as compared to operating the turbine based on the alternate (or old/legacy) control strategy to achieve the same power output at part load. In another example, the comparison data, determined at block 450, may illustrate the differential in maximum power output of the turbine operating based on the primary (or new/upgraded) control strategy as compared to operating the turbine based on the alternate (or old/legacy) control strategy when operating at base load. It is further appreciated that the comparison data may be a combination of these comparisons—fuel savings, differential power gain—as well as comparing other operating parameters or turbine characteristics between the actual operation of the turbine based on the existing, or primary, control strategy compared to the hypothetical (modeled) operation of the turbine based on a different, or alternate, control strategy.
Block 515 follows block 510, in which the primary adaptive turbine model is adjusted (or tuned) based on operating parameters (which may be parameters that are directly sensed or which may be based on modeled parameters that may not be sensed) of the turbine during operation. Block 515 provides for tuning the primary model, for example, with the use of a tuning algorithm or algorithms, such as a Kalman filter, as described above in detail. As a result of the adjusting (or tuning), one or more performance multipliers may be determined, as is discussed in more detail with reference to
Block 520 follows block 515, in which the turbine may be controlled based at least in part on the primary adaptive turbine model based on a primary control strategy. For example, the turbine may be controlled to operate at part load or at or near base load. At part load, the turbine operating parameters, by way of the primary adaptive turbine model, are set to provide a specific power output of the turbine. In another example, at or near base load, the turbine operating parameters are set to operate the turbine to produce its maximum power output.
Block 525 follows block 520, in which a first output value, such as the power output during the part load example, or the fuel flow during base load, may be determined for later comparison. In other embodiments, the output value may be other operating parameters, such as, for example, inlet guide vane, inlet bleed heat, fuel flow characteristics, or the like, which may vary by turbine implementation and model configuration.
Block 530 follows block 525, which illustrates modeling the same turbine with an alternate adaptive turbine model, and controlling it based on an alternate control strategy, as described above in reference to
Blocks 540-560, following block 535, illustrate the continuous feedback process as described in reference to
Block 550 which follows block 545 illustrates that if the actual turbine is operating at part load, the model output values of the alternate adaptive turbine model and the power output of the adaptive turbine model are controlled (by closing loop on the error between the two) to match that of the primary turbine model, and then compared (by way of this loop illustrated in
Block 555 follows the “yes” path from block 550, in which the output value of the alternate adaptive turbine model is compared with the first output value of the actual turbine running at part load, for example the power output, as determined at block 525, to determine if they are matching or substantially similar and thus that the alternate adaptive turbine model is effectively modeling the same or similar operation as the actual turbine during operation. If they are not the same (and the alternate adaptive turbine model is not modeling operation at its maximum capacity as determined at block 560) then blocks 540-560 are repeated until they are matching. The repeated loop between blocks 540-560 illustrates the feedback loop process as more fully described in reference to
Block 560, which follows the “no” path of block 550 and the “no” path of block 555, illustrates two examples—one, when the actual turbine is running at part load, and another, when the actual turbine is running at or near base load. In the first example, being that in which the actual turbine is running at part load, block 560 determines whether the output power of the actual turbine is equal to or greater than the maximum power output as would be modeled by the alternate adaptive turbine model based on the alternate control strategy. In this example, if the modeled power output of the alternate adaptive turbine model is maximized, or substantially maximized, the power output of the alternate model is captured for comparison to the actual turbine power output (at block 565). In the second example, the actual turbine is operating at or near base load (as determined at block 550) and the alternate adaptive turbine model is being adjusted (by way of the loop) to run at, or substantially at, its maximum power output also. When the alternate adaptive turbine model is operating at its maximum power output (modeling base load based on the alternate control strategy), the power output of the alternate model may be compared to the power output of the actual turbine, as illustrated at block 565.
Block 570 follows the “yes” path of block 555 and follows block 565, illustrates that when either the alternate model output matches the actual turbine output, or both the actual turbine and the alternate model are operating at or near base load, the operating parameters of the actual turbine, or the operating parameters of the primary adaptive turbine model, may be compared to the operating parameters of the alternate adaptive turbine model. For example, the fuel flow of the alternate model may be compared to the fuel flow of the actual turbine operating at the same condition, to determine what fuel savings may have been achieved by operating based on the actual (new/upgraded) control strategy as compared to the alternate control strategy. In other examples, other operating parameters, such as the inlet guide vane, the inlet bleed heat, the fuel flow, or the compressor pressure ratio, or the like, may be compared.
Finally, at block 575, which follows block 570, comparison data may be determined or otherwise generated. The comparison data may be displayed, or it may be written in memory for later and/or subsequent access. For example, fuel savings may be displayed, showing the fuel savings based on the new control strategy when comparing the fuel flows between the primary and alternate models. Also, when running at or near base load (or when the alternate model reaches its maximum power output), the power difference may be displayed to indicate the increased power output at or near base load when compared to the alternate control strategy. These may be displayed via an interface indicating, for example, raw numbers, graphic display using graphing techniques, graphic display showing percentage differences, or the like. In some examples, the data may also (or instead) be stored in a database, or other memory device, allowing for the production of historical comparison data over time.
References are made to block diagrams of systems, methods, apparatuses, and computer program products according to example embodiments of the invention. It will be understood that at least some of the blocks of the block diagrams, and combinations of blocks in the block diagrams, respectively, may be implemented at least partially by computer program instructions. These computer program instructions may be loaded onto a general purpose computer, special purpose computer, special purpose hardware-based computer, or other programmable data processing apparatus to produce a machine, such that the instructions which execute on the computer or other programmable data processing apparatus create means for implementing the functionality of at least some of the blocks of the block diagrams, or combinations of blocks in the block diagrams discussed.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means that implement the function specified in the block or blocks. The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions that execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the block or blocks.
One or more components of the systems and one or more elements of the methods described herein may be implemented through an application program running on an operating system of a computer. They also may be practiced with other computer system configurations, including hand-held devices, multiprocessor systems, microprocessor based, or programmable consumer electronics, mini-computers, mainframe computers, etc.
Application programs that are components of the systems and methods described herein may include routines, programs, components, data structures, etc. that implement certain abstract data types and perform certain tasks or actions. In a distributed computing environment, the application program (in whole or in part) may be located in local memory, or in other storage. In addition, or in the alternative, the application program (in whole or in part) may be located in remote memory or in storage to allow for circumstances where tasks are performed by remote processing devices linked through a communications network.
Many modifications and other embodiments of the example descriptions set forth herein to which these descriptions pertain will come to mind having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. Thus, it will be appreciated the invention may be embodied in many forms and should not be limited to the example embodiments described above. Therefore, it is to be understood that the invention is not to be limited to the specific embodiments disclosed and that modifications and other embodiments are intended to be included within the scope of the appended claims. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.