Embodiments of the present invention are directed to a methods, systems and computer program products for determining maintenance activities of a system and scheduling of such maintenance based on one or more stress factors where values for the stress factors can be determined based on monitoring or predicted based on operational parameters of the system.
In recent years, reliance upon wind as a source of energy has grown. As reliance upon wind as a source of energy continues to grows, increased efficiency and availability of wind turbines and wind turbine farms increases in importance.
Generally, a wind turbine converts wind energy into rotational energy, and more specifically, converts kinetic energy of wind into mechanical energy. The mechanical energy is used for producing electrical power. Wind turbines may include a rotor having multiple blades that rotate in response to force provided by the wind. Upon rotating the multiple blades, a drive shaft rotates, which in turn drives an electrical generator to generate the electrical power.
A wind farm or wind park (these two phrases will be used interchangeably herein) is a group of interconnected wind turbines at a location. A wind farm may be comprised of one wind turbine, two wind turbines and up to hundreds of wind turbines. The boundaries of the wind farm may cover a small area of hundreds of square yards (square meters) to an extended area of hundreds of square miles (square kilometers). The location of the wind farm may be inland, off-shore, or near-shore, and typically selected to maximize the electrical energy generated by the wind.
Wind turbines and wind farms can be monitored by a computer system, for example, a Supervisory Control and Data Acquisition system (“SCADA” system). The SCADA system can monitor and control a plant or equipment in industries such as telecommunications, water and waste control, energy, oil and gas refining, transportation. The SCADA system can gather information, such as whether a wind turbine has tripped off-line, transfer the information back to a central site, alert a home station that the trip has occurred, carry out necessary analysis and control, such as determining whether the cause of the trip is critical, and display information in a logical and organized manner. The SCADA system can be simple, such as a system that monitors environmental conditions of a small office building, or complex, such as a system that monitors all activity in a nuclear power plant, a municipal water system or multiple wind farms.
As wind turbines and wind farms become more integrated into the electrical grid and become a larger percentage of generated power base, maintenance and availability of the wind turbine generators becomes increasingly important. Therefore, determining whether maintenance is required or when it is required can help increase availability of wind turbines and reduce maintenance costs.
Therefore, what are desired are methods, systems and computer program products that overcome challenges in the art, some of which are described above.
Described herein are embodiments of methods, systems or computer program to use stress factors associated with maintenance items to determine whether and when to perform certain maintenance items.
In one aspect, embodiments of a method of using one or more stress factors to determine whether or when to perform a maintenance activity are described. One embodiment of the method comprises identifying one or more maintenance activities for a system; associating one or more stress factors to each of the identified one or more maintenance activities for the system; determining a value for each of the one or more associated stress factors; and determining, using a computing device, whether to schedule one of the one or more maintenance activities for the system based on the determined value of each of the one or more stress factors associated with the one of the one or more maintenance activities.
In another aspect, embodiments of systems of using one or more stress factors to determine whether or when to perform a maintenance activity are described. One embodiment comprises a network interface; a memory; and a processor, wherein the processor is operably connected to the memory and the network interface, and the processor is configured to: store, in the memory, one or more maintenance activities that have been identified for a mechanical system; associate one or more stress factors to each of the identified one or more maintenance activities for the mechanical system and store the associated stress factors in the memory; receive information related to at least one of the one or more associated stress factors and determine a value for each of the one or more associated stress factors based at least in part on the received information, wherein at least part of the received information can be received over a network via the network interface; and determine whether to schedule one of the one or more maintenance activities for the mechanical system based on the determined value of each of the one or more stress factors associated with the one of the one or more maintenance activities.
In yet another aspect, embodiments of a computer program product of using one or more stress factors to determine whether or when to perform a maintenance activity are described. One embodiment comprises computer-executable code sections stored on a non-transitory computer readable medium. The computer-executable code sections comprise a first section for associating one or more stress factors to each of one or more maintenance activities for a system; a second code section for determining a value for each of the one or more associated stress factors; and a third code section for determining whether to schedule one of the one or more maintenance activities for the system based on the determined value of each of the one or more stress factors associated with the one of the one or more maintenance activities.
Additional advantages will be set forth in part in the description which follows or may be learned by practice. The advantages will be realized and attained by means of the elements and combinations particularly pointed out in the appended claims. It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive, as claimed.
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments and together with the description, serve to explain the principles of the methods, systems and computer program products:
Wherever possible, the same reference numbers will be used throughout the drawings to represent the same parts.
Before the present methods, systems and computer program products are disclosed and described, it is to be understood that the methods, systems and computer program products are not limited to specific synthetic methods, specific components, or to particular compositions. It is also to be understood that the terminology used herein is for describing particular embodiments only and is not intended to be limiting.
As used in the specification and the appended claims, the singular forms “a,” “an” and “the” include plural referents unless the context clearly dictates otherwise. Ranges may be expressed herein as from “about” one particular value, and/or to “about” another particular value. When such a range is expressed, another embodiment includes from the one particular value and/or to the other particular value. Similarly, when values are expressed as approximations, by use of the antecedent “about,” it will be understood that the particular value forms another embodiment. It will be further understood that the endpoints of each of the ranges are significant both in relation to the other endpoint, and independently of the other endpoint.
“Optional” or “optionally” means that the subsequently described event or circumstance may or may not occur, and that the description includes instances where said event or circumstance occurs and instances where it does not.
Throughout the description and claims of this specification, the word “comprise” and variations of the word, such as “comprising” and “comprises,” means “including but not limited to,” and is not intended to exclude, for example, other additives, components, integers or steps. “Exemplary” means “an example of” and is not intended to convey an indication of a preferred or ideal embodiment. “Such as” is not used in a restrictive sense, but for explanatory purposes.
Disclosed are components that can be used to perform the disclosed methods, systems and computer program products. These and other components are disclosed herein, and it is understood that when combinations, subsets, interactions, groups, etc. of these components are disclosed that while specific reference of each various individual and collective combinations and permutation of these may not be explicitly disclosed, each is specifically contemplated and described herein, for all methods and systems. This applies to all aspects of this application including, but not limited to, steps in disclosed methods. Thus, if there are a variety of additional steps that can be performed it is understood that each of these additional steps can be performed with any specific embodiment or combination of embodiments of the disclosed methods.
The present methods and systems may be understood more readily by reference to the following detailed description of preferred embodiments and the Examples included therein and to the Figures and their previous and following description.
The exemplary wind turbine 10 (herein, wind turbine and wind turbine generator shall be used interchangeably) described and illustrated herein is a wind generator for generating electrical power from wind energy. However, in some embodiments, wind turbine 10 may be, in addition or alternative to a wind generator, any type of wind turbine, such as, but not limited to, a windmill (not shown). Moreover, the exemplary wind turbine 10 described and illustrated herein includes a horizontal-axis configuration. However, in some embodiments, wind turbine 10 may include, in addition or alternative to the horizontal-axis configuration, a vertical-axis configuration (not shown). Wind turbine 10 may be coupled to an electrical load (not shown), such as, but not limited to, a power grid (not shown) for receiving electrical power therefrom to drive operation of wind turbine 10 and/or its associated components and/or for supplying electrical power generated by wind turbine 10 thereto. Although only one wind turbine 10 is shown in
The exemplary wind turbine 10 includes a body 16, sometimes referred to as a “nacelle”, and a rotor (generally designated by 18) coupled to body 16 for rotation with respect to body 16 about an axis of rotation 20. In the exemplary embodiment, nacelle 16 is mounted on a tower 14. The height of tower 14 may be any suitable height enabling wind turbine 10 to function as described herein. Rotor 18 includes a hub 22 and a plurality of blades 24 (sometimes referred to as “airfoils”) extending radially outward from hub 22 for converting wind energy into rotational energy. Each blade 24 has a tip 25 positioned at the end thereof, which is distant from the hub 22. Although rotor 18 is described and illustrated herein as having three blades 24, rotor 18 may have any number of blades 24. Blades 24 may each have any length (whether or not described herein).
Despite how rotor blades 24 are illustrated in
Referring now to
In one aspect. exemplary wind turbine 10 includes one or more control systems embodied in a turbine control unit (TCU) 40 coupled to some or all of the components of wind turbine 10 for generally controlling operation of wind turbine 10 and/or some or all of the components thereof (whether or not such components are described and/or illustrated herein). In one aspect. the TCU 40 may be used for, but is not limited to, power generation monitoring and control including, for example, pitch and speed regulation, high-speed shaft and yaw brake application, yaw and pump motor application, and/or fault monitoring. Alternative distributed or centralized control architectures may be used in some embodiments.
In some embodiments, wind turbine 10 may include a disc brake (not shown) for braking rotation of rotor 18 to, for example, slow rotation of rotor 18, brake rotor 18 against full wind torque, and/or reduce the generation of electrical power from electrical generator 26. Furthermore, in some embodiments, wind turbine 10 may include a yaw system 42 for rotating nacelle 16 about an axis of rotation 44, for changing a yaw of rotor 18, and more specifically for changing a direction faced by rotor 18 to, for example, adjust an angle between the direction faced by rotor 18 and a direction of wind. In one aspect, the yaw system 42 may be coupled to the TCU 40 for control thereby. In some embodiments, wind turbine 10 may include anemometry 46 for measuring wind speed and/or wind direction. Anemometry 46, in some embodiments, may be coupled to the TCU 40 for sending measurements to control system(s) for processing thereof. For example, although anemometry 46 may be coupled to the TCU 40 for sending measurements thereto for controlling other operations of wind turbine 10, anemometry 46 may send measurements to the TCU 40 for controlling and/or changing a yaw of rotor 18 using yaw system 42. Alternatively, anemometry 46 may be coupled directly to yaw system 42 for controlling and/or changing a yaw of rotor 18.
In one aspect, the exemplary wind turbine 10 may also include a plurality of sensors 48, 50, 52, 54, 55 (
Referring again to
As noted above, in one aspect the TCU 40 can operate in conjunction with a supervisory control and data acquisition (SCADA) system to dynamically monitor and control wind turbine(s) 10 or wind farm(s). The SCADA system can include a Human-Machine Interface (HMI), a supervisory (computer) system, Remote Terminal Units (RTUs), and a communication infrastructure. The HMI is an apparatus that presents performance-related information to the operator. By using the HMI, the operator can monitor and/or control operation of wind turbine(s) 10 and/or wind farm(s). In one aspect, the HMI includes a graphical user interface (GUI) that allows the operator to interface with the wind farm in a graphical manner. The supervisory system monitors wind turbine(s) 10 and/or wind farm(s) by gathering and/or acquiring information (in the form of data). Also, the supervisory system controls wind turbine(s) 10 and/or wind farm(s) by transmitting commands to wind turbine(s) 10 and/or wind farm(s). The RTUs receive signals from anemometry 46, sensors 48, 50, 52, 54 and/or 55, and/or other sensor(s), convert the signals into digital data, and transmit the digital data to the supervisory system via the communication infrastructure (for example, optical fibers). In one aspect, the TCU 40 comprises an RTU. In one aspect, in addition to the wind turbines 10, the wind farm comprises one or more substation and meteorological stations, each having separate RTUs.
The SCADA system acts as a “nerve center” for wind turbine(s) 10 and/or wind farm(s). The SCADA system continuously analyzes the performance-related information and transmits signals to the GUI so that the performance-related information can be visually depicted in a dynamic manner. The SCADA system can monitor and/or control wind turbine(s) 10 and wind farm(s), one or more substations (not shown), and one or more meteorological stations (not shown) thus allowing the operator to cohesively monitor and/or control wind turbine(s) 10 at a specific location, a wind farm, or any other suitable grouping of wind turbines 10. The SCADA system stores periodic records throughout a given period of time. The periodic records can be based upon activity at the specific location, the wind farm, or any other suitable grouping of wind turbines 10. The periodic records can be analyzed to provide the operator with performance-related information. The performance-related information can be used for implementing corrective action. The SCADA system implements requirements based upon connection agreements to control reactive power production, to contribute to network voltage or frequency control, or to limit power output in response to instructions from a network operator.
As shown in
In one aspect, the SCADA master 402 or other computing device can be used to implement a method of using stress factors associated with maintenance items to determine whether and when to perform the maintenance items on a system such as a wind turbine 10, a wind farm 400, or other mechanical system. For example, as shown in the exemplary flow chart of
Consider the following example. Each maintenance activity can have an associated “trigger point.” The “trigger point” can be defined as the level of a stress factor or a combination of stress factors where maintenance is required. For example, suppose that yaw brake pads of a wind turbine 10 need to be changed after they travel a total distance of 7000 feet. Then, 7000 feet is the trigger point. Furthermore, in various embodiments stress levels for all critical stress factors can be forecast. The forecast can be based on stress history in past years for this turbine site or similar sites, as well as individual turbine history of stress on the components. The forecasts can be based on historical wind and meteorological measurements. The forecast may include seasonality, since stress levels in the summer are different than stress levels in the winter. The forecasts can be made at the wind park level (applied to all turbines at that park), or at the turbine level (a forecast for each turbine). Using the accumulated information, forecasts can be made for the time that maintenance is required for each activity at each turbine. For each maintenance activity, use the last maintenance time, the cumulative stress since the last maintenance time, a forecast of the stress over time, the transfer function or relation between the stress factors and the maintenance activity, and the critical point (or trigger point) where maintenance is needed to forecast the last date when the maintenance must be performed. In some instances, historical and real time direct observations of a stress response (such as oil condition) can be used in the forecast. As an example, consider the following calculation of the maintenance needed date. Suppose that yaw brake pads need to be changed after they travel a total distance of 7000 feet. They have traveled 5000 feet since the last maintenance. They will need to be replaced after they travel another 7000−5000=2000 feet. If the forecast is 50 feet of travel per day, then the brakes must be replaced in 2000/50=40 days. A non-limiting graphical example illustrating the trigger point, accumulated stress, and forecast stress for a maintenance activity is shown in
Furthering the example, embodiments described herein can be used to schedule maintenance for a turbine, or for an area within a turbine (such as the nacelle). Suppose there will be a schedule for each turbine. Some variables to consider by turbine include, for example: set up time (travel, load, climb), (e.g., two hours/technician); work hours per day (8, 10, etc.), (e.g., a 10 hour work day); technicians on a crew, (e.g., three technicians/crew). Then, the total time the crew will be available is (3*10)=30 hours, and the total time available for maintenance is 30−6=24 hours. For scheduling, the activity with the first required maintenance date for the system (e.g., turbine or wind park) is determined. The next maintenance for the turbine must occur before this date. For efficient use of labor, group several maintenance items together that add up to a certain total maintenance labor time. For example, group together enough work for a crew of three service technicians on one full day. This group of activities will all be performed in one trip to a turbine. Start with the required travel time, climbing time, and set-up time. Add the time required for the first maintenance activity, based on the required date. Continue to add, or pull-in, maintenance activities until you meet the total maintenance labor time, such as 24 hours.
The SCADA-master 402 or other computing device can be configured to “bundle” the tasks, by adding tasks in the order of the need date. It will add tasks until it reaches about one work day for a crew. The computing system can be configured to generate a list of tasks, ordered by the require date. The list can include the time required for the task, special skills, location in the turbine, required tools and required parts. The computing system can create a summary table of the next maintenance need date for each turbine, that can be ordered by turbine and need date. The computing system can keep a list of the available technicians on each date, accounting for things like vacation, holidays, etc. These activities may also be grouped by area of the turbine or types of skills required. For example, all activities performed at the top of the turbine may be grouped together. Or all activities requiring a certain skill set of the technician may be grouped together. At times there are visits to a turbine for unplanned maintenance whereby planned maintenance can be assigned and performed during the same trip. Furthermore, schedules can be determined by turbine area (e.g., hub, nacelle, down tower, tower) as the same variables must be considered for specific areas of the turbine.
Maintenance can also be scheduled for an entire wind park. A wind park typically has a certain staffing level, such as for example six technicians. It is desired to level load their work, so they have about eight hours of work each day, which can reduce labor costs and utilize labor efficiently. Perhaps, for example, the labor forecast shows excess labor available in January, and too much labor required in February. If ten turbines must be maintained in January and 30 are schedule to be maintained in February, then the computing system can be configured to move some of the February maintenance to January. This allows all maintenance to be completed in time, and can reduce overtime. Several wind parks can be combined and treated as one park for scheduling purposes. There are other options for scheduling algorithms, such as integer programs, linear programs, or genetic algorithms, to minimize costs while meeting all constraints. Constraints are required service and labor resources. The following are some variables that can be recorded for each maintenance task in order to more efficiently schedule the maintenance activity: time required for the maintenance task (hours); cumulative stress through the current date; trigger point; forecast of additional stress during each day, for the next few years; the projected date to meet the trigger point, which can be the last day to perform the maintenance task; special technician skill required for each task; parts required; and tools required. Schedules can be generated with different assumptions, such as no overtime, or two hours of overtime per day, etc. The schedules can be configured to highlight when overtime is required, and when there are not enough resources to compete all maintenance.
The SCADA-master or other computing device can be configured to generate reports that show the projected schedule, what is required for the maintenance, and what is moved to an earlier date. This will be used to order materials required for maintenance ahead of time. All past maintenance activities can be maintained by the computing system in a database for use in determining the next required maintenance as well as for storing and displaying all steps in the process, such as the required maintenance item, the schedule for a turbine, the pulled-in schedule for a turbine, and the schedule for a wind park. Furthermore, results from previous weeks can be stored in the database so that changes can be tracked from week to week.
The above system has been described above as comprised of units. One skilled in the art will appreciate that this is a functional description and that software, hardware, or a combination of software and hardware can perform the respective functions. A unit can be software, hardware, or a combination of software and hardware. The units can comprise software 606 as illustrated in
The present methods and systems can be operational with numerous other general purpose or special purpose computing system environments or configurations. Examples of well known computing systems, environments, and/or configurations that can be suitable for use with the systems and methods comprise, but are not limited to, personal computers, server computers, laptop devices, and multiprocessor systems. Additional examples comprise set top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, remote terminal units, smart meters, smart-grid components, distributed computing environments that comprise any of the above systems or devices, programmable logic controllers (PLCs) and the like.
Processing of the disclosed methods and systems can be performed by software components. The disclosed systems and methods can be described in the general context of computer-executable instructions, such as program modules, being executed by one or more computers or other devices. Generally, program modules comprise computer code, routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The disclosed methods can also be practiced in grid-based and distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules can be located in both local and remote computer storage media including memory storage devices.
Further, one skilled in the art will appreciate that the systems and methods disclosed herein can be implemented via a general-purpose computing device in the form of a computing device 402. The components of the computing device 402 can comprise, but are not limited to, one or more processors or processing units 703, a system memory 712, and a system bus 713 that couples various system components including the processor 703 to the system memory 712. In the case of multiple processing units 703, the system can utilize parallel computing. In one aspect, the one or more processors or processing units 703 can be configured to associate one or more stress factors to each of one or more identified maintenance activities for a system such as a wind turbine 10 or wind park 400, determine a value for each of the one or more associated stress factors, and determine, using a computing device, whether to schedule one of the one or more maintenance activities for the system based on the determined value of each of the one or more stress factors associated with the one of the one or more maintenance activities. In one aspect, the computing device 402 can receive supervisory control and data acquisition (SCADA) data for a wind turbine 10 or a wind farm comprised of one or more wind turbines, wherein the SCADA data includes parameters for the wind farm, and these parameters used to determine a value for each of the one or more associated stress factors or update the stress factors.
The system bus 713 represents one or more of several possible types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor or local bus using any of a variety of bus architectures. By way of example, such architectures can comprise an Industry Standard Architecture (ISA) bus, a Micro Channel Architecture (MCA) bus, an Enhanced ISA (EISA) bus, a Video Electronics Standards Association (VESA) local bus, an Accelerated Graphics Port (AGP) bus, and a Peripheral Component Interconnects (PCI), a PCI-Express bus, a Personal Computer Memory Card Industry Association (PCMCIA), Universal Serial Bus (USB) and the like. The bus 713, and all buses specified in this description can also be implemented over a wired or wireless network connection and each of the subsystems, including the processor 703, a mass storage device 704, an operating system 705, software 706, data 707, a network adapter 708, system memory 712, an Input/Output Interface 710, a display adapter 709, a display device 711, and a human machine interface 702, can be contained within one or more remote computing devices, clients or remote terminal units (RTUs) 714a,b,c at physically separate locations, connected through buses of this form, in effect implementing a fully distributed system or distributed architecture.
The computing device 402 typically comprises a variety of computer readable media. Exemplary readable media can be any available media that is non-transitory and accessible by the computing device 402 and comprises, for example and not meant to be limiting, both volatile and non-volatile media, removable and non-removable media. The system memory 712 comprises computer readable media in the form of volatile memory, such as random access memory (RAM), and/or non-volatile memory, such as read only memory (ROM). The system memory 712 typically contains data such as trigger point data 707 and/or program modules such as operating system 705 and software 706 that are immediately accessible to and/or are presently operated on by the processing unit 703.
In another aspect, the computing device 402 can also comprise other non-transitory, removable/non-removable, volatile/non-volatile computer storage media. By way of example,
Optionally, any number of program modules can be stored on the mass storage device 704, including by way of example, an operating system 705 and software 706. Each of the operating system 705 and software 706 (or some combination thereof) can comprise elements of the programming and the software 706. Data 707 can also be stored on the mass storage device 704. Data 707 can be stored in any of one or more databases known in the art Examples of such databases comprise, DB2® (IBM Corporation, Armonk, N.Y.), Microsoft® Access, Microsoft® SQL Server, (Microsoft Corporation, Bellevue, Wash.), Oracle®, (Oracle Corporation, Redwood Shores, Calif.), mySQL, PostgreSQL, and the like. The databases can be centralized or distributed across multiple systems.
In another aspect, the user can enter commands and information into the computing device 402 via an input device (not shown). Examples of such input devices comprise, but are not limited to, a keyboard, pointing device (e.g., a “mouse”), a microphone, a joystick, a scanner, tactile input devices such as gloves, and other body coverings, and the like. These and other input devices can be connected to the processing unit 703 via a human machine interface 702 that is coupled to the system bus 713, but can be connected by other interface and bus structures, such as a parallel port, game port, an IEEE 1394 Port (also known as a Firewire port), a serial port, a universal serial bus (USB), and the like.
In yet another aspect, a display device 711 can also be connected to the system bus 713 via an interface, such as a display adapter 709. It is contemplated that the computing device 402 can have more than one display adapter 709 and the computing device 402 can have more than one display device 711. For example, a display device can be a monitor, an LCD (Liquid Crystal Display), a projector, and the like. In addition to the display device 711, other output peripheral devices can comprise components such as speakers (not shown) and a printer (not shown), which can be connected to the computing device 402 via Input/Output Interface 710. Any step and/or result of the methods can be output in any form to an output device. Such output can be any form of visual representation, including, but not limited to, textual, graphical, animation, audio, tactile, and the like.
The computing device 402 can operate in a networked environment using logical connections to one or more remote computing devices, clients or RTUs 714a,b,c. By way of example, a remote computing device 714 can be a personal computer, portable computer, a server, a router, a network computer, a smart meter, a vendor or manufacture's computing device, smart grid components, a peer device, an RTU, or other common network node, and so on. Logical connections between the computing device 402 and a remote computing device, client or RTU 714a,b,c can be made via a local area network (LAN) and a general wide area network (WAN). Such network connections can be through a network adapter 708. A network adapter 708 can be implemented in both wired and wireless environments. Such networking environments are conventional and commonplace in offices, enterprise-wide computer networks, intranets, and other networks 715.
For purposes of illustration, application programs and other executable program components such as the operating system 705 are illustrated herein as discrete blocks, although it is recognized that such programs and components reside at various times in different storage components of the computing device 402, and are executed by the data processor(s) of the computer. An implementation of the software 706 can be stored on or transmitted across some form of computer readable media. Any of the disclosed methods can be performed by computer readable instructions embodied on computer readable media. Computer readable media can be any available media that can be accessed by a computer. By way of example and not meant to be limiting, computer readable media can comprise “computer storage media” and “communications media.” “Computer storage media” comprise volatile and non-volatile, removable and non-removable media implemented in any methods or technology for storage of information such as computer readable instructions, data structures, program modules, or other data. Exemplary computer storage media comprises, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by a computer.
The methods and systems can employ Artificial Intelligence techniques such as machine learning and iterative learning. Examples of such techniques include, but are not limited to, expert systems, case based reasoning, Bayesian networks, behavior based AI, neural networks, fuzzy systems, evolutionary computation (e.g. genetic algorithms), swarm intelligence (e.g. ant algorithms), and hybrid intelligent systems (e.g. Expert inference rules generated through a neural network or production rules from statistical learning).
As described above and as will be appreciated by one skilled in the art, embodiments of the present invention may be configured as a system, method, or computer program product. Accordingly, embodiments of the present invention may be comprised of various means including entirely of hardware, entirely of software, or any combination of software and hardware. Furthermore, embodiments of the present invention may take the form of a computer program product on a computer-readable storage medium having computer-readable program instructions (e.g., computer software) embodied in the storage medium. Any suitable non-transitory computer-readable storage medium may be utilized including hard disks, CD-ROMs, optical storage devices, or magnetic storage devices.
Embodiments of the present invention have been described above with reference to block diagrams and flowchart illustrations of methods, apparatuses (i.e., systems) and computer program products. It will be understood that each block of the block diagrams and flowchart illustrations, and combinations of blocks in the block diagrams and flowchart illustrations, respectively, can be implemented by various means including computer program instructions. These computer program instructions may be loaded onto a general purpose computer, special purpose computer, or other programmable data processing apparatus, such as the one or more processors 703 discussed above with reference to
These computer program instructions may also be stored in a non-transitory computer-readable memory that can direct a computer or other programmable data processing apparatus (e.g., one or more processors 703 of
Accordingly, blocks of the block diagrams and flowchart illustrations support combinations of means for performing the specified functions, combinations of steps for performing the specified functions and program instruction means for performing the specified functions. It will also be understood that each block of the block diagrams and flowchart illustrations, and combinations of blocks in the block diagrams and flowchart illustrations, can be implemented by special purpose hardware-based computer systems that perform the specified functions or steps, or combinations of special purpose hardware and computer instructions.
Unless otherwise expressly stated, it is in no way intended that any method set forth herein be construed as requiring that its steps be performed in a specific order. Accordingly, where a method claim does not actually recite an order to be followed by its steps or it is not otherwise specifically stated in the claims or descriptions that the steps are to be limited to a specific order, it is no way intended that an order be inferred, in any respect. This holds for any possible non-express basis for interpretation, including: matters of logic with respect to arrangement of steps or operational flow; plain meaning derived from grammatical organization or punctuation; the number or type of embodiments described in the specification.
Throughout this application, various publications may be referenced. The disclosures of these publications in their entireties are hereby incorporated by reference into this application in order to more fully describe the state of the art to which the methods and systems pertain.
Many modifications and other embodiments of the inventions set forth herein will come to mind to one skilled in the art to which these embodiments of the invention pertain having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. Therefore, it is to be understood that the embodiments of the invention are 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. Moreover, although the foregoing descriptions and the associated drawings describe exemplary embodiments in the context of certain exemplary combinations of elements and/or functions, it should be appreciated that different combinations of elements and/or functions may be provided by alternative embodiments without departing from the scope of the appended claims. In this regard, for example, different combinations of elements and/or functions than those explicitly described above are also contemplated as may be set forth in some 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.