Embodiments of the current invention relate to systems and methods for adjusting a speed of a tractor pulling a baler to avoid baler plugging.
Balers, or hay balers, are machines that gather and compress a cut fodder crop, such as hay, cotton, flax straw, salt marsh hay, or silage, into a compact and manageable bale. After the fodder crop is cut, and before it is baled, it is usually left on the ground in a field in a plurality of elongated, relatively narrow windrows. Balers typically include a pickup located at their front end which has rotors and tines or other components to gather up the crop and feed it to a compressor which compresses the cut crop before tying it and ejecting it. Given the conditions of the crop and the throughput of the pickup, there is a maximum speed at which the baler can travel before the amount of the crop coming into the pickup exceeds its capacity and either the baler starts pushing the crop, instead of baling it, or the baler becomes plugged downstream from the pickup.
Typically, the baler is pulled by a tractor which is driven by an operator. Adjusting the speed of the baler to avoid overloading the baler is a manual process performed by the tractor operator looking over his shoulder at the pickup of the baler. If the operator notices an increasing load in the pickup, he may slow down, and if he notices a decreasing load in the pickup, he may speed up. If the operator becomes distracted and does not slow down when the load in the pickup increases, the baler will become plugged or the crop will be pushed by the baler.
Embodiments of the current invention solve the above-mentioned problems and provide a distinct advance in the art of balers. Specifically, embodiments of the present invention may provide systems and methods for adjusting a tractor speed based on a performance of a pickup of a baler to avoid baler plugging.
An embodiment of the system broadly comprises a flow rate sensor, a processing element, and a tractor speed controller. The flow rate sensor is configured to monitor a feed point of the pickup, sense a flow rate of a crop into the pickup, and output a flow rate signal with a level and/or data value that varies according to the flow rate of the crop into the pickup. The processing element is configured or programmed to receive the flow rate signal, receive a speed signal and/or data regarding a speed of a tractor pulling the baler, compare the flow rate from the flow rate signal with the speed from the speed signal and/or data to generate a comparison result, and output an electronic speed signal with a level and/or data value that varies according to the comparison result. The tractor speed controller is configured to receive the speed signal and adjust a speed of the tractor according to the level and/or data value of the speed signal.
Another embodiment of the system broadly comprises a load sensor, a windrow sensor, a processing element, and a tractor speed controller. The load sensor is configured to sense a load on a pickup of the baler and output a load signal with a level and/or data value that varies according to the load on the pickup. The windrow sensor is configured to monitor a ground area in front of the baler, determine a cross-sectional area of the windrow, and output a windrow signal with a level and/or data value that varies according to a cross-sectional area of the windrow. The processing element is configured or programmed to receive the load signal, receive the windrow signal, receive a crop moisture signal and/or data about a moisture level of a crop to be baled, and output a speed signal with a level and/or data value that varies according to values from the load signal, the windrow signal, and the crop moisture signal and/or data. The tractor speed controller is configured to receive the speed signal and adjust a speed of the tractor according to the level and/or data value of the speed signal.
An embodiment of the method broadly comprises monitoring the pickup and determining a flow rate of a crop into the pickup; receiving a signal and/or data regarding a speed of a tractor pulling the baler; comparing the flow rate from the flow rate signal with the speed from the speed signal and/or data to generate a comparison result; and adjusting the speed of the tractor according to the comparison result.
Another embodiment of the method broadly comprises sensing a load on a pickup of the baler during operation; monitoring a ground area in front of the baler and determining a cross-sectional area of the windrow; receiving a signal and/or data regarding a moisture level of the crop; and adjusting a speed of the tractor according to the load of the pickup, the cross-sectional area of the crop, and the moisture level of the crop.
Another embodiment of the current invention provides a baler to be pulled by a tractor while baling a crop. The baler broadly comprising a pickup, a load sensor, a windrow sensor, a processing element, and a tractor speed controller. The load sensor is configured to sense a load on the pickup and output a load signal with a level and/or data value that varies according to the load on the pickup. The windrow sensor is configured to monitor a ground area in front of the baler, determine a cross-sectional area of the windrow, and output a windrow signal with a level and/or data value that varies according to a cross-sectional area of the windrow. The processing element is configured or programmed to receive the load signal, receive the windrow signal, receive a crop moisture signal and/or data about a moisture level of a crop to be baled, and output a speed signal with a level and/or data value that varies according to values from the load signal, the windrow signal, and the crop moisture signal and/or data. The tractor speed controller is configured to receive the speed signal and adjust a speed of the tractor according to the level and/or data value of the speed signal.
This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the detailed description. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter. Other aspects and advantages of the current invention will be apparent from the following detailed description of the embodiments and the accompanying drawing figures.
Embodiments of the current invention are described in detail below with reference to the attached drawing figures, wherein:
The drawing figures do not limit the current invention to the specific embodiments disclosed and described herein. The drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the invention.
The following detailed description of the technology references the accompanying drawings that illustrate specific embodiments in which the technology can be practiced. The embodiments are intended to describe aspects of the technology in sufficient detail to enable those skilled in the art to practice the technology. Other embodiments can be utilized and changes can be made without departing from the scope of the current invention. The following detailed description is, therefore, not to be taken in a limiting sense. The scope of the current invention is defined only by the appended claims, along with the full scope of equivalents to which such claims are entitled.
A baler 10 including a system 12, constructed in accordance with various embodiments of the current invention, for adjusting a tractor speed based on a performance of a pickup 14 of the baler 10 and to avoid a plugging event in the baler 10 is shown in
The baler 10 may be a “round” baler, which produces cylindrically shaped bales, or a large or small “square” baler, which produces rectangular bales such as the ones shown in
The system 12, as shown in
The load sensor 24 generally senses or detects a load on the pickup 14 during operation and may include transducers or other devices to sense or detect electric voltage, electric current, fluid pressure, air pressure, or the like. An exemplary load sensor 24 includes a fluid pressure sensor to sense or detect hydraulic fluid pressure of the hydraulic fluid used in the pickup 14. A value of the hydraulic fluid pressure generally corresponds, or positively correlates, to a level of the load on the pickup 14. That is, a high value of the hydraulic fluid pressure corresponds to a large load on the pickup 14. And, a low value of the hydraulic fluid pressure corresponds to a small load on the pickup 14. The load sensor 24 outputs an electronic load signal and/or data that includes a level and/or value that varies according to, is proportional to, or positively correlates to, the load on the pickup 14.
The windrow sensor 26 generally monitors a ground area in front of the baler 10 and determines or senses a cross-sectional area of the windrow 18. Typically, the windrow sensor 26 determines the cross-sectional area of the windrow 18 widthwise, or looking axially along the windrow 18, as opposed to lengthwise, or looking transverse at the windrow 18. The windrow sensor 26 may include radio frequency transceivers such as radar transceivers, laser light transceivers such as lidar transceivers, video imaging or photograph imaging cameras, or other non-contact devices, such as ultrasonic devices, that can determine the cross-sectional area of the windrow 18. The windrow sensor 26 (indicated as a plurality of boxes with a “W” in
The processing element 28 may comprise one or more processors. The processing element 28 may include electronic hardware components such as microprocessors (single-core or multi-core), microcontrollers, digital signal processors (DSPs), field-programmable gate arrays (FPGAs), analog and/or digital application-specific integrated circuits (ASICs), or the like, or combinations thereof. The processing element 28 may generally execute, process, or run instructions, code, code segments, code statements, software, firmware, programs, applications, apps, processes, services, daemons, or the like. The processing element 28 may also include hardware components such as registers, finite-state machines, sequential and combinational logic, configurable logic blocks, and other electronic circuits that can perform the functions necessary for the operation of the current invention. In certain embodiments, the processing element 28 may include multiple computational components and functional blocks that are packaged separately but function as a single unit. The processing element 28 may be in electronic communication with the other electronic components through serial or parallel links that include universal busses, address busses, data busses, control lines, and the like.
The processing element 28 may further comprise or be in electronic communication with a memory element. The memory element may be embodied by devices or components that store data in general, and digital or binary data in particular, and may include exemplary electronic hardware data storage devices or components such as read-only memory (ROM), programmable ROM, erasable programmable ROM, random-access memory (RAM) such as static RAM (SRAM) or dynamic RAM (DRAM), cache memory, hard disks, floppy disks, optical disks, flash memory, thumb drives, universal serial bus (USB) drives, or the like, or combinations thereof. In some embodiments, the memory element may be embedded in, or packaged in the same package as, the processing element 28. The memory element may include, or may constitute, a non-transitory “computer-readable medium”. The memory element may store the instructions, code, code statements, code segments, software, firmware, programs, applications, apps, services, daemons, or the like that are executed by the processing element 28. The memory element may also store data that is received by the processing element 28 or the device in which the processing element 28 is implemented. The processing element 28 may further store data or intermediate results generated during processing, calculations, and/or computations as well as data or final results after processing, calculations, and/or computations. In addition, the memory element may store settings, data, documents, sound files, photographs, movies, images, databases, and the like.
The processing element 28 may be operable, configured, or programmed to perform the following functions by utilizing hardware, software, firmware, or combinations thereof. The processing element 28 receives the flow rate signal from the flow rate sensor 22. The processing element 28 may also receive a speed signal and/or data regarding the speed, or ground speed, of the tractor 16 and/or baler 10. The speed signal and/or data may be received from the tractor 16 or speed sensors positioned on the baler 10. The processing element 28 compares the flow rate of the crop 20 into the pickup 14 with the speed of the baler 10 by comparing the flow rate signal with the speed signal and/or data, which generates a comparison result. (This assumes that the flow rate of the crop 20 into the pickup 14 from the flow rate signal is expressed as a speed, such feet per second or meters per second. If the flow rate of the crop 20 into the pickup 14 is expressed in other units or terms, then the flow rate is converted to a speed.) The processing element 28 outputs an electronic speed signal that is received by the tractor speed controller 30. The level and/or data value of the speed signal determines the speed of the tractor 16, and hence the baler 10. The processing element 28 adjusts the level and/or data value of the speed signal according to, or based on, the comparison result, i.e., the comparison of the flow rate of the crop 20 into the pickup 14 with the speed of the baler 10. For example, if the flow rate is greater than the speed, then the processing element 28 adjusts the level and/or data value of the speed signal to increase the speed of the tractor 16. If the flow rate is less than the speed, then the processing element 28 adjusts the level and/or data value of the speed signal to decrease the speed of the tractor 16. If the flow rate is approximately equal to the speed, then the processing element 28 maintains the current level and/or data value of the speed signal. With the speed of the tractor 16 and the baler 10 set properly, the baler 10 can go slow enough to avoid overloading the pickup 14 while at the same time going fast enough to provide optimum performance.
The processing element 28 receives the load signal from the load sensor 24, and the windrow signal from the windrow sensor 26. In addition, the processing element 28 has knowledge of, or receives a crop moisture signal and/or data regarding, a moisture level of the crop 20. For example, the tractor operator may enter information about the moisture level of the crop 20 into a user interface electronically coupled to the processing element 28. Or, the processing element 28 may receive a crop moisture signal and/or data about the moisture level of the crop 20 from one or more moisture/humidity sensors positioned on the baler 10 or the tractor 16. The processing element 28 outputs the speed signal and adjusts its level and/or data value according to, or based on, the load of the pickup 14, the cross-sectional area of the crop 20, and the moisture level of the crop 20. In some embodiments, the processing element 28 may set the level and/or data value of the speed signal through the use of a dynamic lookup table that may be stored in the memory element associated with the processing element 28. For example, the lookup table may include a plurality of columns, one column to hold values for each of the measured or known quantities including the load of the pickup 14, the cross-sectional area of the crop 20, and the moisture level of the crop 20. The table may also include a column for the level and/or data value of the speed signal. The lookup table would include a plurality of rows, each row including a different combination of values for the load of the pickup 14, the cross-sectional area of the crop 20, and the moisture level of the crop 20. Each row would also include the appropriate level and/or data value of the speed signal for the given combination of the load of the pickup 14, the cross-sectional area of the crop 20, and the moisture level of the crop 20. Thus, to set the level and/or data value of the speed signal, the processing element 28 would retrieve the level and/or data value of the speed signal stored in the lookup table in the row pointed to by the combination of the current values for the load of the pickup 14, the cross-sectional area of the crop 20, and the moisture level of the crop 20.
In other embodiments, the processing element 28 may apply an algorithm, including a sequence of steps, in order to set the level and/or data value of the speed signal given the values for the load of the pickup 14, the cross-sectional area of the crop 20, and the moisture level of the crop 20.
In still other embodiments, the processing element 28 may determine the level and/or data value of the speed signal through the use of an equation that describes the relationship between the speed of the baler 10 and the load of the pickup 14, the cross-sectional area of the crop 20, and the moisture level of the crop 20. The equation may have a form such as: SPEED=f(LOAD, CSA, MOISTURE), wherein LOAD is the load of the pickup 14, CSA is the cross-sectional area of the crop 20, and MOISTURE is the moisture level of the crop 20. The specific expression for each variable in the equation may be predetermined empirically or using other techniques. Thus, to set the level and/or data value of the speed signal, the processing element 28 would simply plug the current values for the load of the pickup 14, the cross-sectional area of the crop 20, and the moisture level of the crop 20 into the equation.
In general, an increase in the cross-sectional area of the crop 20 will lead to an increase in the load on the pickup 14. Thus, the level and/or data value of the speed signal, and in turn the speed of the tractor 16, may be decreased to prevent the load on the pickup 14 exceeding a certain value. In addition, a decrease in the cross-sectional area of the crop 20 will lead to a decrease in the load on the pickup 14. Thus, the level and/or data value of the speed signal, and in turn the speed of the tractor 16, may be increased to maintain the load on the pickup 14 in a certain optimal range. Furthermore, an increase in the moisture level of the crop 20 may increase the load on the pickup 14, while a decrease in the moisture level of the crop 20 may decrease the load on the pickup 14. Accordingly, the level and/or data value of the speed signal may be decreased in response to an increase in the moisture level and may be increased in response to a decrease in the moisture level. With the speed of the tractor 16 and the baler 10 set properly, the baler 10 can go slow enough to avoid a plugging event while at the same time going fast enough to provide optimum performance.
The tractor speed controller 30 generally controls the speed of the tractor 16 and, in turn, the baler 10. The tractor speed controller 30 may include microprocessors, microcontrollers, FPGAs, or the like, or combinations thereof. The tractor speed controller 30 receives the speed signal from the processing element 28 through a controller area network (CAN) bus, an ISOBUS, or other communication standard architectures. The tractor speed controller 30 may output one or more electronic signals that are received by mechanical systems or mechanical control systems which provide propulsion or drive for the tractor 16. The electronic signals output by the tractor speed controller 30 set the speed of the tractor 16 to vary according to, or based on, the level and/or data value of the speed signal. In some embodiments, the speed of the tractor 16 varies according to the comparison result from comparing the flow rate of the crop 20 into the pickup 14 with the speed of the tractor 16. In other embodiments, the speed of the tractor 16 varies according to the load of the pickup 14, the cross-sectional area of the crop 20, and the moisture level of the crop 20.
Referring to step 101, a front end of the baler 10 is monitored. The flow rate sensor 22 generally monitors a front end of the baler 10 and determines or senses a flow rate, or feed rate, of the crop 20 into the pickup 14. The flow rate sensor 22 may include radio frequency transceivers such as radar transceivers, laser light transceivers such as lidar transceivers, video imaging or photograph imaging cameras, or contact devices, such as wheels or rotors that engage the crop 20.
Referring to step 102, a flow rate of a crop 20 into the pickup 14 is determined or sensed. The flow rate is determined by the flow rate sensor 22, which outputs an electronic flow rate signal and/or data that includes a level and/or value that varies according to, is proportional to, or positively correlates to, the flow rate of the crop 20 into the pickup 14. For example, the flow rate signal may have a greater level and/or value when the flow rate has a greater value. The flow rate signal may have a smaller level and/or value when the flow rate has a smaller value. In some embodiments, the flow rate signal may represent the flow rate of the crop 20 into the pickup 14 as a speed, such as feet per second or meters per second.
Referring to step 103, a signal and/or data regarding the speed, or ground speed, of the tractor 16 and/or baler 10 is received. The speed signal and/or data may be received from the tractor 16 or speed sensors positioned on the baler 10.
Referring to step 104, the flow rate of the crop 20 into the pickup 14 is compared with the speed of the tractor 16 and/or baler 10. The processing element 28 receives both the flow rate signal (including flow rate data of the crop 20) and the speed signal and/or data, which generates a comparison result. (This assumes that the flow rate of the crop 20 into the pickup 14 is expressed as a speed, such feet per second or meters per second. If the flow rate of the crop 20 into the pickup 14 is expressed in other units or terms, then the flow rate is converted to a speed.)
Referring to step 105, an electronic speed signal is output whose level and/or data value varies according to the comparison result, i.e., the comparison of the flow rate of the crop 20 into the pickup 14 with the speed of the tractor 16 and/or the baler 10. The speed signal is output by the processing element 28. If the flow rate is greater than the speed, then the processing element 28 adjusts the level and/or data value of the speed signal to increase the speed of the tractor 16. If the flow rate is less than the speed, then the processing element 28 adjusts the level and/or data value of the speed signal to decrease the speed of the tractor 16. If the flow rate is approximately equal to the speed, then the processing element 28 maintains the current level and/or data value of the speed signal.
Referring to step 106, the speed of the tractor 16 is adjusted according to the comparison result. The tractor speed controller 30 generally controls the speed of the tractor 16 and, in turn, the baler 10. The tractor speed controller 30 may include microprocessors, microcontrollers, FPGAs, or the like, or combinations thereof. The speed signal is received by the tractor speed controller 30 which outputs one or more electronic signals that are received by mechanical systems or mechanical control systems which provide propulsion or drive for the tractor 16. The electronic signals output by the tractor speed controller 30 set the speed of the tractor 16 to vary according to, or based on, the level and/or data value of the speed signal. Thus, the speed of the tractor 16 is increased if the flow rate of the crop 20 into the pickup 14 is greater than the speed of the tractor 16. The speed of the tractor 16 is decreased if the flow rate of the crop 20 into the pickup 14 is less than the speed of the tractor 16. The speed of the tractor 16 is maintained if the flow rate of the crop 20 into the pickup 14 is approximately equal to the speed of the tractor 16. With the speed of the tractor 16 and the baler 10 set properly, the baler 10 can go slow enough to avoid overloading the pickup 14 while at the same time going fast enough to provide optimum performance.
Referring to step 201, a load on the pickup 14 is sensed during operation. The load sensor 24 generally senses or detects a load on the pickup 14 during operation and may include transducers or other devices to sense or detect electric voltage, electric current, fluid pressure, air pressure, or the like. An exemplary load sensor 24 includes a fluid pressure sensor to sense or detect hydraulic fluid pressure of the hydraulic fluid used in the pickup 14. A value of the hydraulic fluid pressure generally corresponds, or positively correlates, to a level of the load on the pickup 14. That is, a high value of the hydraulic fluid pressure corresponds to a large load on the pickup 14. And, a low value of the hydraulic fluid pressure corresponds to a small load on the pickup 14. The load sensor 24 outputs an electronic load signal and/or data that includes a level and/or value that varies according to, is proportional to, or positively correlates to, the load on the pickup 14.
Referring to step 202, a ground area in front of the baler 10 is monitored and a cross-sectional area of the windrow 18 is determined. The windrow sensor 26 generally monitors a ground area in front of the baler 10 and determines or senses a cross-sectional area of the windrow 18. Typically, the windrow sensor 26 determines the cross-sectional area of the windrow 18 widthwise, or looking axially along the windrow 18, as opposed to lengthwise, or looking transverse at the windrow 18. The windrow sensor 26 may include radio frequency transceivers such as radar transceivers, laser light transceivers such as lidar transceivers, video imaging or photograph imaging cameras, or other non-contact devices, such as ultrasonic devices, that can determine the cross-sectional area of the windrow 18. The windrow sensor 26 (indicated as a plurality of boxes with an “W” in
Referring to step 203, a signal and/or data is received regarding a moisture level of the crop 20. The tractor operator may enter information about the moisture level of the crop 20 into a user interface electronically coupled to the processing element 28. Or, the processing element 28 may receive a signal and/or data about the moisture level of the crop 20 from one or more moisture/humidity sensors positioned on the baler 10 or the tractor 16.
Referring to step 204, a speed signal is output whose level and/or data value varies according to the load of the pickup 14, the cross-sectional area of the crop 20, and the moisture level of the crop 20. The processing element 28 receives the load signal, the windrow signal, and the signal and/or data about the moisture level of the crop 20 and outputs the speed signal. In some embodiments, the processing element 28 may set the level and/or data value of the speed signal through the use of a dynamic lookup table that may be stored in the memory element associated with the processing element 28. For example, the lookup table may include a plurality of columns, one column to hold values for each of the measured or known quantities including the load of the pickup 14, the cross-sectional area of the crop 20, and the moisture level of the crop 20. The table may also include a column for the level and/or data value of the speed signal. The lookup table would include a plurality of rows, each row including a different combination of values for the load of the pickup 14, the cross-sectional area of the crop 20, and the moisture level of the crop 20. Each row would also include the appropriate level and/or data value of the speed signal for the given combination of the load of the pickup 14, the cross-sectional area of the crop 20, and the moisture level of the crop 20. Thus, to set the level and/or data value of the speed signal, the processing element 28 would retrieve the level and/or data value of the speed signal stored in the lookup table in the row pointed to by the combination of the current values for the load of the pickup 14, the cross-sectional area of the crop 20, and the moisture level of the crop 20.
In other embodiments, the processing element 28 may apply an algorithm, including a sequence of steps, in order to set the level and/or data value of the speed signal given the values for the load of the pickup 14, the cross-sectional area of the crop 20, and the moisture level of the crop 20.
In still other embodiments, the processing element 28 may determine the level and/or data value of the speed signal through the use of an equation that describes the relationship between the speed of the baler 10 and the load of the pickup 14, the cross-sectional area of the crop 20, and the moisture level of the crop 20. The equation may have a form such as: SPEED=f(LOAD, CSA, MOISTURE), wherein LOAD is the load of the pickup 14, CSA is the cross-sectional area of the crop 20, and MOISTURE is the moisture level of the crop 20. The specific expression for each variable in the equation may be predetermined empirically or using other techniques. Thus, to set the level and/or data value of the speed signal, the processing element 28 would simply plug the current values for the load of the pickup 14, the cross-sectional area of the crop 20, and the moisture level of the crop 20 into the equation.
Referring to step 205, a speed of the tractor 16 is adjusted according to the load of the pickup 14, the cross-sectional area of the crop 20, and the moisture level of the crop 20. The tractor speed controller 30 generally controls the speed of the tractor 16 and, in turn, the baler 10. The tractor speed controller 30 may include microprocessors, microcontrollers, FPGAs, or the like, or combinations thereof. The tractor speed controller 30 receives the speed signal from the processing element 28. Given that the level and/or data value of the speed signal is adjusted according to the load of the pickup 14, the cross-sectional area of the crop 20, and the moisture level of the crop 20, so too is the speed of the tractor 16.
In general, an increase in the cross-sectional area of the crop 20 will lead to an increase in the load on the pickup 14. Thus, the speed of the tractor 16 may be decreased to prevent the load on the pickup 14 exceeding a certain value. In addition, a decrease in the cross-sectional area of the crop 20 will lead to a decrease in the load on the pickup 14. Thus, the speed of the tractor 16 may be increased to maintain the load on the pickup 14 in a certain optimal range. Furthermore, an increase in the moisture level of the crop 20 may increase the load on the pickup 14, while a decrease in the moisture level of the crop 20 may decrease the load on the pickup 14. Accordingly, the speed of the tractor 16 may be decreased in response to an increase in the moisture level and may be increased in response to an decrease in the moisture level. With the speed of the tractor 16 and the baler 10 set properly, the baler 10 can go slow enough to avoid a plugging event while at the same time going fast enough to provide optimum performance.
Throughout this specification, references to “one embodiment”, “an embodiment”, or “embodiments” mean that the feature or features being referred to are included in at least one embodiment of the technology. Separate references to “one embodiment”, “an embodiment”, or “embodiments” in this description do not necessarily refer to the same embodiment and are also not mutually exclusive unless so stated and/or except as will be readily apparent to those skilled in the art from the description. For example, a feature, structure, act, etc. described in one embodiment may also be included in other embodiments, but is not necessarily included. Thus, the current invention can include a variety of combinations and/or integrations of the embodiments described herein.
Although the present application sets forth a detailed description of numerous different embodiments, it should be understood that the legal scope of the description is defined by the words of the claims set forth at the end of this patent and equivalents. The detailed description is to be construed as exemplary only and does not describe every possible embodiment since describing every possible embodiment would be impractical. Numerous alternative embodiments may be implemented, using either current technology or technology developed after the filing date of this patent, which would still fall within the scope of the claims.
Throughout this specification, plural instances may implement components, operations, or structures described as a single instance. Although individual operations of one or more methods are illustrated and described as separate operations, one or more of the individual operations may be performed concurrently, and nothing requires that the operations be performed in the order illustrated. Structures and functionality presented as separate components in example configurations may be implemented as a combined structure or component. Similarly, structures and functionality presented as a single component may be implemented as separate components. These and other variations, modifications, additions, and improvements fall within the scope of the subject matter herein.
Certain embodiments are described herein as including logic or a number of routines, subroutines, applications, or instructions. These may constitute either software (e.g., code embodied on a machine-readable medium or in a transmission signal) or hardware. In hardware, the routines, etc., are tangible units capable of performing certain operations and may be configured or arranged in a certain manner. In example embodiments, one or more computer systems (e.g., a standalone, client or server computer system) or one or more hardware modules of a computer system (e.g., a processor or a group of processors) may be configured by software (e.g., an application or application portion) as computer hardware that operates to perform certain operations as described herein.
In various embodiments, computer hardware, such as a processing element, may be implemented as special purpose or as general purpose. For example, the processing element may comprise dedicated circuitry or logic that is permanently configured, such as an application-specific integrated circuit (ASIC), or indefinitely configured, such as an FPGA, to perform certain operations. The processing element may also comprise programmable logic or circuitry (e.g., as encompassed within a general-purpose processor or other programmable processor) that is temporarily configured by software to perform certain operations. It will be appreciated that the decision to implement the processing element as special purpose, in dedicated and permanently configured circuitry, or as general purpose (e.g., configured by software) may be driven by cost and time considerations.
Accordingly, the term “processing element” or equivalents should be understood to encompass a tangible entity, be that an entity that is physically constructed, permanently configured (e.g., hardwired), or temporarily configured (e.g., programmed) to operate in a certain manner or to perform certain operations described herein. Considering embodiments in which the processing element is temporarily configured (e.g., programmed), each of the processing elements need not be configured or instantiated at any one instance in time. For example, where the processing element comprises a general-purpose processor configured using software, the general-purpose processor may be configured as respective different processing elements at different times. Software may accordingly configure the processing element to constitute a particular hardware configuration at one instance of time and to constitute a different hardware configuration at a different instance of time.
Computer hardware components, such as communication elements, memory elements, processing elements, and the like, may provide information to, and receive information from, other computer hardware components. Accordingly, the described computer hardware components may be regarded as being communicatively coupled. Where multiple of such computer hardware components exist contemporaneously, communications may be achieved through signal transmission (e.g., over appropriate circuits and buses) that connect the computer hardware components. In embodiments in which multiple computer hardware components are configured or instantiated at different times, communications between such computer hardware components may be achieved, for example, through the storage and retrieval of information in memory structures to which the multiple computer hardware components have access. For example, one computer hardware component may perform an operation and store the output of that operation in a memory device to which it is communicatively coupled. A further computer hardware component may then, at a later time, access the memory device to retrieve and process the stored output. Computer hardware components may also initiate communications with input or output devices, and may operate on a resource (e.g., a collection of information).
The various operations of example methods described herein may be performed, at least partially, by one or more processing elements that are temporarily configured (e.g., by software) or permanently configured to perform the relevant operations. Whether temporarily or permanently configured, such processing elements may constitute processing element-implemented modules that operate to perform one or more operations or functions. The modules referred to herein may, in some example embodiments, comprise processing element-implemented modules.
Similarly, the methods or routines described herein may be at least partially processing element-implemented. For example, at least some of the operations of a method may be performed by one or more processing elements or processing element-implemented hardware modules. The performance of certain of the operations may be distributed among the one or more processing elements, not only residing within a single machine, but deployed across a number of machines. In some example embodiments, the processing elements may be located in a single location (e.g., within a home environment, an office environment or as a server farm), while in other embodiments the processing elements may be distributed across a number of locations.
Unless specifically stated otherwise, discussions herein using words such as “processing,” “computing,” “calculating,” “determining,” “presenting,” “displaying,” or the like may refer to actions or processes of a machine (e.g., a computer with a processing element and other computer hardware components) that manipulates or transforms data represented as physical (e.g., electronic, magnetic, or optical) quantities within one or more memories (e.g., volatile memory, non-volatile memory, or a combination thereof), registers, or other machine components that receive, store, transmit, or display information.
As used herein, the terms “comprises,” “comprising,” “includes,” “including,” “has,” “having” or any other variation thereof, are intended to cover a non-exclusive inclusion. For example, a process, method, article, or apparatus that comprises a list of elements is not necessarily limited to only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus.
The patent claims at the end of this patent application are not intended to be construed under 35 U.S.C. § 112(f) unless traditional means-plus-function language is expressly recited, such as “means for” or “step for” language being explicitly recited in the claim(s).
Although the technology has been described with reference to the embodiments illustrated in the attached drawing figures, it is noted that equivalents may be employed and substitutions made herein without departing from the scope of the technology as recited in the claims.
This application claims the benefit of U.S. Provisional Application No. 63/071,108, filed Aug. 27, 2020, which is hereby incorporated by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
63071108 | Aug 2020 | US |